重要
本文档介绍不再是 生态系统路线图的一部分的控制台平台功能。 我们不建议在新产品中使用此内容,但我们将继续支持未来无限期的现有使用情况。 我们首选的新式解决方案侧重于 虚拟终端序列 ,以实现跨平台方案中的最大兼容性。 可以在 经典控制台与虚拟终端 文档中找到有关此设计决策的详细信息。
控制台输入缓冲区中报告的输入事件类型取决于主机的鼠标和窗口输入模式。 控制台处理的输入模式确定系统如何处理 CTRL+C 组合键。 若要设置或检索主机输入模式的状态,应用程序可以在调用 SetConsoleMode 或 GetConsoleMode 函数时指定控制台输入缓冲区句柄。 以下模式用于控制台输入句柄。
| Mode | DESCRIPTION |
|---|---|
| ENABLE_MOUSE_INPUT | 控制是否在输入缓冲区中报告鼠标事件。 默认情况下,启用鼠标输入并禁用窗口输入。 更改其中任一模式仅影响设置模式后发生的输入;不会刷新输入缓冲区中的挂起的鼠标或窗口事件。 无论鼠标模式如何,鼠标指针都会显示。 |
| ENABLE_WINDOW_INPUT | 控制是否在输入缓冲区中报告缓冲区大小调整事件。 默认情况下,启用鼠标输入并禁用窗口输入。 更改其中任一模式仅影响设置模式后发生的输入;不会刷新输入缓冲区中的挂起的鼠标或窗口事件。 无论鼠标模式如何,鼠标指针都会显示。 |
| ENABLE_PROCESSED_INPUT | 使用高级控制台 I/O 函数控制应用程序的输入处理。 但是,如果启用了处理的输入模式,则控制台的输入缓冲区中不会报告 CTRL+C 键组合。 而是将其传递给适当的控制处理程序函数。 有关控制处理程序的详细信息,请参阅 控制台控制处理程序。 |
屏幕缓冲区的输出模式不会影响低级别输出函数的行为。