gpt4 book ai didi

c++ - SetConsoleMode() 和 ENABLE_VIRTUAL_TERMINAL_PROCESSING?

转载 作者:可可西里 更新时间:2023-11-01 09:19:34 29 4
gpt4 key购买 nike

根据 MSDN,SetConsoleMode() 函数的 dwMode 参数应允许 ENABLE_VIRTUAL_TERMINAL_PROCESSING (0x04)。

我的 Visual Studio(2013 Ultimate with Update 5)未定义该常量。它只有这两个:

#define ENABLE_PROCESSED_OUTPUT    0x0001
#define ENABLE_WRAP_AT_EOL_OUTPUT 0x0002

是否删除了 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);

有关引用,请参阅此 MSDN article .

最佳答案

如果您的 SDK 太旧,ENABLE_VIRTUAL_TERMINAL_PROCESSING 可能未定义。

您可以使用以下代码手动定义它:

#ifndef ENABLE_VIRTUAL_TERMINAL_PROCESSING
#define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004
#endif

关于c++ - SetConsoleMode() 和 ENABLE_VIRTUAL_TERMINAL_PROCESSING?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38772468/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com