Как получить цвет заголовка активного окна в Windows 8

Как получить цвет заголовка активного окна в Windows 8?

Я пытался позвонить GetSysColor(COLOR_ACTIVECAPTION) но он возвращает другой цвет. Это странно, потому что в Windows 7 все работает правильно. Есть ли другой способ, как получить цвет заголовка активного окна или цвет панели задач?

3

Решение

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

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector