目前,我这样做是为了更改我的控制台颜色:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_GREEN);
但是,如果我想将背景颜色设置为例如#64e0fc
呢?我知道控制台可以呈现不同的颜色(您可以在属性中设置它们(,但我可以控制显示的颜色吗?
Windows 控制台使用 4 位调色板,因此前景和背景最多可以有 16 种颜色。确切的值在注册表中定义,并且可以修改。
HKEY_CURRENT_USERConsoleColorTable##
HKEY_CURRENT_USERConsole(program)ColorTable##
其中##
是从 00 到 15 的两位数。
程序可以通过调用调色板来设置调色板 SetConsoleScreenBufferInfoEx()
,但一次不能处理超过 16 种颜色。
请注意,DWORD COLORREF
的格式:
指定显式 RGB 颜色时,COLORREF 值具有以下十六进制形式:
0x00BBGGRR