ENABLE_PROCESSED_INPUT在 SetConsoleMode 标志中的含义
The meaning of ENABLE_PROCESSED_INPUT in SetConsoleMode flags
在Windows API中,有SetConsoleMode函数。在模式值中,我无法理解ENABLE_PROCESSED_INPUT
值。MSDN文件说
ENABLE_PROCESSED_INPUT : value (0x0001)
: CTRL+C
由系统处理,不会放置在输入缓冲区中。如果输入缓冲区由ReadFile
或ReadConsole
读取,则其他控制键由系统处理,不会在ReadFile
或ReadConsole
缓冲区中返回。如果还启用了ENABLE_LINE_INPUT
模式,则退格、回车符和换行符将由系统处理。
这是否意味着设置此标志时,CTRL+C
不会放置在输入缓冲区中(因为它由系统处理)? 还是其他(CTRL+C
放置在输入缓冲区中)?这个解释让我感到困惑。请问谁能向我解释一下?
这意味着
如果设置了 ENABLE_PROCESSED_INPUT
标志,则不会将 Ctrl+C 放入输入缓冲区中(相反,系统将处理它并将SIGINT
信号发送到控制台中运行的进程)。
相同的行为适用于 ENABLE_LINE_INPUT
标志:如果设置了该标志,则 backspace
、carriage return
和 line feed
等字符不会放入输入缓冲区中,而是由系统处理(从缓冲区中删除字符并自动处理行尾)。
ENABLE_PROCESSED_INPUT
:value (0x0001)
: CTRL+C
由系统处理,不会放置在输入缓冲区中。
所以基本上是的,没有任何东西进入输入缓冲区,因为特殊符号由系统处理。
相关文章:
- 即使使用调试编译标志,表达式也是"optimized out"
- 在 CMake 中为每个目标设置编译器/链接器标志
- File.cpp.o:OpenPose 标志 CMakeFiles/.. 的多重定义/main.cpp.o:首先在这里定
- 在轮班操作后使用携带标志
- 如何找出引入AVX标志的内容
- I2C 文件描述符上的 I2C 总线可写/可读标志
- C ++是否有C ++ 17 OSX 10.13.6的标志
- 每次使用带有LOCK_EX标志的LOCK_NB时,相同的程序/进程都会获取锁
- CMake 3.5 中的链接器标志位置
- 如何使用 gnu gcc 标志 -mpc32、-mpc64 和 -mpc80?
- 在 CMake 中添加全局编译标志
- -Wlifetime 标志的目的是什么?
- Visual Studio 19-17 库兼容性根据 GL 标志
- 标志 |= f == s[i],这个语句会做什么?
- Visual Studio 中是否有来自代码块的编译器标志的类似物?
- 如何在 clang 的自动会议中检查支持编译标志
- 使用 boost::p rogram_options 指定多个标志
- 如何告诉 gcc 显示您使用的优化标志列表
- 生成文件中隐式规则中的 -c 标志出错
- 如何将编译器标志限制为仅(我的)本地库?