根据 MSDN,该函数的dwMode参数SetConsoleMode()应该允许ENABLE_VIRTUAL_TERMINAL_PROCESSING(0x04)。
我的 Visual Studio(2013 Ultimate with Update 5)没有定义这个常量。它只有这两个:
#define ENABLE_PROCESSED_OUTPUT 0x0001
#define ENABLE_WRAP_AT_EOL_OUTPUT 0x0002
Run Code Online (Sandbox Code Playgroud)
被ENABLE_VIRTUAL_TERMINAL_PROCESSING移除了吗?
我试图像这样使用它,以便我可以使用 VT100 转义序列控制光标。
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
DWORD dwMode = 0;
GetConsoleMode(hOut, &dwMode);
dwMode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING;
SetConsoleMode(hOut, dwMode);
Run Code Online (Sandbox Code Playgroud)
如需参考,请参阅此 MSDN文章。