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