如何在Windows8中获取活动窗口的标题颜色

How to get the caption color of an active window in Windows 8

本文关键字:窗口 标题 颜色 活动 获取 Windows8      更新时间:2023-10-16

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

我试图调用GetSysColor(COLOR_ACTIVECAPTION),但它返回不同的颜色。这很奇怪,因为在Windows7中它运行正常。有没有其他方法可以获得活动窗口的标题颜色或任务栏的颜色?

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
);