Windows c更改控制台颜色值

时间:2018-01-03 04:18:21

标签: c windows

目前,我这样做是为了改变我的控制台颜色:

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_GREEN);

但是,如果我想将背景颜色设置为#64e0fc,该怎么办?我知道控制台可以呈现不同的颜色(您可以在属性中设置它们),但是我可以控制显示的颜色吗?

1 个答案:

答案 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