如何在 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()
可以检索用于Desktop Window Manager (DWM)
玻璃成分的当前颜色的功能。该值基于当前的配色方案,可由用户修改。WM_DWMCOLORIZATIONCOLORCHANGED
应用程序可以通过处理通知来监听颜色变化。
HRESULT WINAPI DwmGetColorizationColor(
_Out_ DWORD *pcrColorization,
_Out_ BOOL *pfOpaqueBlend
);