windows 命令行快速编辑模式 关闭(c++ 代码中实现)

背景:租用的阿里云服务器,操作系统server2008, 实时库服务程序是命令行程序,但是最近发现程序会莫名其妙被堵塞,界面上的日志也不打印,连续多日一直未发现原因,一直到今天,发现如果用鼠标选中界面上日志,日志就不会打印,后续的进程也被堵塞。上网查了下 恍然大悟,多日密云解开。。。

windows 命令行快速编辑模式 关闭(c++ 代码中实现)

方案:windows不能针对所有命令行统一设置,只能单个程序去设置。如上图,取消快速编辑模式即可。

但是很难避免新程序忘记设置,最好的办法是在程序中就设置掉。

HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);

DWORD mode;

GetConsoleMode(hStdin, &mode);

mode &= ~ENABLE_QUICK_EDIT_MODE; //移除快速编辑模式

mode &= ~ENABLE_INSERT_MODE; //移除插入模式

mode &= ~ENABLE_MOUSE_INPUT;

SetConsoleMode(hStdin, mode);


即可。。。。