我该如何在Windows 8中获取活动窗口的标题栏颜色?
我尝试调用GetSysColor(COLOR_ACTIVECAPTION)
,但它返回不同的颜色。这很奇怪,因为在Windows 7中它能正常工作。是否有其他方法可以获取活动窗口的标题栏颜色或任务栏的颜色?
我该如何在Windows 8中获取活动窗口的标题栏颜色?
我尝试调用GetSysColor(COLOR_ACTIVECAPTION)
,但它返回不同的颜色。这很奇怪,因为在Windows 7中它能正常工作。是否有其他方法可以获取活动窗口的标题栏颜色或任务栏的颜色?
DWORD WINAPI GetSysColor(
_In_ int nIndex
);
GetSysColor()
函数,如果nIndex
参数超出范围,则返回值为零。因为零也是有效的RGB值,所以您不能使用GetSysColor()
来确定当前平台是否支持系统颜色。相反,使用GetSysColorBrush()
函数,如果颜色不受支持,则返回NULL
。
点击查看语法和用法。
另一个选择是使用DwmGetColorizationColor()
函数,它可以检索用于桌面窗口管理器(DWM)
玻璃合成的当前颜色。该值基于当前的颜色方案,并且可以由用户修改。应用程序可以通过处理WM_DWMCOLORIZATIONCOLORCHANGED
通知来监听颜色更改。HRESULT WINAPI DwmGetColorizationColor(
_Out_ DWORD *pcrColorization,
_Out_ BOOL *pfOpaqueBlend
);