我非常新,我不明白该怎么做。我正在用C ++制作一个DLL,用于我正在用另一种语言编写的游戏。我对C ++一无所知,并且几乎没有完成它。我需要它来返回windows个性化颜色。 reddit上的某个人优雅地给了我一些有用的资源,但它只返回了ACTIVE_BORDER颜色,这种颜色与用户在Windows 8+中可以轻松更改的颜色不同,这正是我所关注的。我修改它以使用DwmGetColorizationColor但现在的问题是它不使用我需要的COLORREF。任何可以帮助我的人都将不胜感激。
见我的来源:
textfield
答案 0 :(得分:0)
返回的颜色格式为
0xAArrggbb
而Windows COLORREF
是
0x00bbggrr
您需要将返回的DWORD
部分转换为COLORREF。
COLORREF c =
((color && 0x00ff0000) >> 16) //red
||
((color && 0x0000ff00)) //green
||
((color && 0x000000ff) << 16);