如何用 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读取输入事件,WriteConsoleOutputFillConsoleOutput*写入控制台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、更改文本外观等的命令的信息。