3

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

我试图打电话GetSysColor(COLOR_ACTIVECAPTION),但它返回不同的颜色。这很奇怪,因为在 Windows 7 中它可以正常工作。有没有其他方法可以获取活动窗口的标题颜色或任务栏的颜色?

4

1 回答 1

2
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
);
于 2012-12-05T08:31:07.547 回答