如何获取Windows 8中活动窗口的标题颜色

如何在Windows 8中获得活动窗口的标题颜色?

我试图调用GetSysColor(COLOR_ACTIVECAPTION)但它返回不同的颜色。 这很奇怪,因为在Windows 7中它是正确的。 有没有其他方式如何获得活动窗口的标题颜色或任务栏的颜色?

Solutions Collecting From Web of "如何获取Windows 8中活动窗口的标题颜色"

 DWORD WINAPI GetSysColor( _In_ int nIndex ); 

对于GetSysColor()函数,如果nIndex参数超出范围,则返回值为零。 因为零也是有效的RGB值,所以不能使用GetSysColor()来确定当前平台是否支持系统颜色。 而是使用GetSysColorBrush()函数,如果颜色不受支持,则返回NULL

点击查看语法和用法。

另一种选择是使用DwmGetColorizationColor()函数,该函数可以检索用于“ Desktop Window Manager (DWM)玻璃组合的当前颜色。 该值基于当前配色方案,可由用户修改。 应用程序可以通过处理WM_DWMCOLORIZATIONCOLORCHANGED通知来侦听颜色更改。

 HRESULT WINAPI DwmGetColorizationColor( _Out_ DWORD *pcrColorization, _Out_ BOOL *pfOpaqueBlend );