如何用 C 编程语言在 windows 操作系统中编写类似于 Octave 文档菜单界面的 CLI 菜单界面
How to code a CLI menu interface similar to octave documentation menu interface in windows operating system in C programming language
在 CLI 模式下打开 Octave 并寻求帮助后,我进入了 Windows CLI 中管理精美的文档菜单上下文,甚至是底部突出显示的箭头键移动和状态栏。
截图:
在Linux中,ncurses 通常用于创建漂亮的 CLI 应用程序界面。我只想知道他们是如何在 Windows CLI 中实现此菜单上下文的(因为 Windows 不支持 ncurses)?
谁能给个例子和代码就更好了
[注意:不要建议新手创建菜单上下文的方法]
当标准输出未被重定向时,您可以使用 low-level Windows console API 在特定位置以您选择的 foreground/background 颜色绘制文本。
使用SetConsoleCursorInfo
+SetConsoleCursorPosition
控制光标,ReadConsoleInput
读取输入事件,WriteConsoleOutput
或FillConsoleOutput*
写入控制台window.
Octave 正在使用 texinfo 包 (https://www.gnu.org/software/texinfo/) 中的 ginfo 来显示帮助。
它 (texinfo) 尝试使用 ncurses 进行编译,但也可以使用 termcap 代替控制台函数。
在 windows 的八度音程中,它正在使用 termcap (https://www.gnu.org/software/termutils/manual/termcap-1.3/html_mono/termcap.html)
它提供了有关可以发送到终端以移动光标、滚动、设置 windows、更改文本外观等的命令的信息。
在 CLI 模式下打开 Octave 并寻求帮助后,我进入了 Windows CLI 中管理精美的文档菜单上下文,甚至是底部突出显示的箭头键移动和状态栏。
截图:
在Linux中,ncurses 通常用于创建漂亮的 CLI 应用程序界面。我只想知道他们是如何在 Windows CLI 中实现此菜单上下文的(因为 Windows 不支持 ncurses)?
谁能给个例子和代码就更好了
[注意:不要建议新手创建菜单上下文的方法]
当标准输出未被重定向时,您可以使用 low-level Windows console API 在特定位置以您选择的 foreground/background 颜色绘制文本。
使用SetConsoleCursorInfo
+SetConsoleCursorPosition
控制光标,ReadConsoleInput
读取输入事件,WriteConsoleOutput
或FillConsoleOutput*
写入控制台window.
Octave 正在使用 texinfo 包 (https://www.gnu.org/software/texinfo/) 中的 ginfo 来显示帮助。
它 (texinfo) 尝试使用 ncurses 进行编译,但也可以使用 termcap 代替控制台函数。
在 windows 的八度音程中,它正在使用 termcap (https://www.gnu.org/software/termutils/manual/termcap-1.3/html_mono/termcap.html)
它提供了有关可以发送到终端以移动光标、滚动、设置 windows、更改文本外观等的命令的信息。