Windows c更改控制台颜色值

问题描述 投票:0回答:1

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

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_GREEN);

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

c windows
1个回答
1
投票

Windows控制台使用4位调色板,因此前景和背景最多可以有16种颜色。确切的值在注册表中定义,并且可以修改。

HKEY_CURRENT_USER\Console\ColorTable##
HKEY_CURRENT_USER\Console\(program)\ColorTable##

其中##是从00到15的两位数。

程序可以通过调用SetConsoleScreenBufferInfoEx()来设置调色板,但一次不能处理超过16种颜色。

请注意DWORD COLORREF的格式:

指定显式RGB颜色时,COLORREF值具有以下十六进制形式:

0x00BBGGRR
© www.soinside.com 2019 - 2024. All rights reserved.