【发布时间】:2018-01-03 04:18:21
【问题描述】:
目前,我这样做是为了更改控制台颜色:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_GREEN);
但是,如果我想将背景颜色设置为,例如,#64e0fc,该怎么办?我知道控制台可以呈现不同的颜色(您可以在属性中设置它们),但是我可以控制显示的颜色吗?
【问题讨论】:
-
控制台 API 使用 16 色调色板,在每个屏幕缓冲区中定义。您可以在控制台注册表设置(ColorTable00 -- ColorTable15)中修改调色板的默认设置和按标题设置;或在从快捷方式启动的应用程序的快捷方式设置中;或通过
SetConsoleScreenBufferInfoEx在代码中。 APIFOREGROUND_*常量是强度 (8)、红色 (4)、绿色 (2) 和蓝色 (1) — 16 色调色板的 4 位。BACKGROUND_*常量左移 4 位,并使用相同的调色板。高字节COMMON_LVB_*常量用于 DBCS、反转和下划线。 -
@eryksun 我希望我可以将其标记为答案;非常翔实!谢谢!
-
您必须支持旧版本的 Windows,还是可以使用 Windows 10 控制台中的新功能?
-
@eryksun 我希望支持旧版本,但也对您的想法感兴趣