【发布时间】:2021-05-12 13:33:59
【问题描述】:
我阅读了 Microsoft 的 this article 关于使用控制台虚拟终端序列的信息。
我关注this sequence更改窗口标题:
ESC ] 2 ; <string> BEL
我也试过了:
ESC ] 0 ; <string> BEL
但它不会改变标题。
这是我的代码:
#include <stdio.h>
#include <wchar.h>
#include <windows.h>
int main()
{
// https://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences
// Set output mode to handle virtual terminal sequences
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
if (hOut == INVALID_HANDLE_VALUE)
{
return GetLastError();
}
DWORD dwMode = 0;
if (!GetConsoleMode(hOut, &dwMode))
{
return GetLastError();
}
dwMode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING;
if (!SetConsoleMode(hOut, dwMode))
{
return GetLastError();
}
// Try some Set Graphics Rendition (SGR) terminal escape sequences
wprintf(L"hello");
wprintf(L"\x1b]2;titel\x07");
return 0;
}
它不会改变控制台窗口的标题。
【问题讨论】:
标签: c++ console window title ansi