低级控制台模式

重要

本文档介绍控制台平台功能,该功能已不再是生态系统蓝图的一部分。 我们不建议在新产品中使用此内容,但我们未来将无限期支持现有使用。 我们的首选最新解决方案侧重于虚拟终端序列,以实现跨平台方案中的最大兼容性。 可以在经典控制台与虚拟终端文档中找到有关此设计决策的详细信息。

控制台输入缓冲区中报告的输入事件类型取决于控制台的鼠标和窗口输入模式。 控制台处理的输入模式决定系统如何处理 CTRL+C 组合键操作。 要设置或检索控制台输入模式的状态,应用程序可以在调用 SetConsoleModeGetConsoleMode 函数时指定控制台输入缓冲区句柄。 下列模式与控制台输入句柄一起使用。

“模式” 说明
ENABLE_MOUSE_INPUT 控制是否在输入缓冲区中报告鼠标事件。 默认情况下,启用鼠标输入并禁用窗口输入。 更改其中任一模式仅影响设置模式后发生的输入;不会刷新输入缓冲区中挂起的鼠标或窗口事件。 无论鼠标模式如何,都会显示鼠标指针。
ENABLE_WINDOW_INPUT 控制是否在输入缓冲区中报告缓冲区大小调整事件。 默认情况下,启用鼠标输入并禁用窗口输入。 更改其中任一模式仅影响设置模式后发生的输入;不会刷新输入缓冲区中挂起的鼠标或窗口事件。 无论鼠标模式如何,都会显示鼠标指针。
ENABLE_PROCESSED_INPUT 使用高级控制台 I/O 函数控制应用程序的输入处理。 但是,如果启用了处理的输入模式,则在控制台的输入缓冲区中不会报告 CTRL+C 组合键。 而是将其传递给适当的控制处理程序函数。 有关控制处理程序的详细信息,请参阅控制台控制处理程序

屏幕缓冲区的输出模式不会影响低级输出函数的行为。