Я пытаюсь перехватить события клавиатуры, используя Win32 API в C ++. Моя проблема в том, что некоторые специальные клавиши (для яркости) не вызывают мой обратный вызов.
У меня Dell XPS 15, последняя модель. В верхней части экрана расположены мультимедийные клавиши для настройки параметров звука и яркости экрана. Я вижу нажатия клавиш настройки звука с помощью WH_KEYBOARD_LL
, но не клавиш яркости экрана.
Я хочу перехватить и переназначить клавиши яркости экрана. Чего мне не хватает?
Вот как я регистрирую обратный вызов:
HHOOK keyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, keyboardHookProc, 0, 0);
А вот мой обратный звонок:
LRESULT CALLBACK keyboardHookProc(int nCode, WPARAM wParam, LPARAM lParam) {
PKBDLLHOOKSTRUCT p = (PKBDLLHOOKSTRUCT)(lParam);
std::cout << p->vkCode << endl;
return CallNextHookEx(NULL, nCode, wParam, lParam);
}