Игнорировать отпускание определенной комбинации клавиш (сочетания клавиш) с помощью низкоуровневого перехвата клавиатурыC++

Программы на C++. Форум разработчиков
Anonymous
Игнорировать отпускание определенной комбинации клавиш (сочетания клавиш) с помощью низкоуровневого перехвата клавиатуры

Сообщение Anonymous »

Чтобы перехватить нажатую комбинацию клавиш (например, Ctrl+Shift+A) я использую этот код:

Код: Выделить всё

SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardMsgProc, hInstance, NULL);

//...

LRESULT WINAPI KeyboardMsgProc(int code, WPARAM wParam, LPARAM lParam)
{
KBDLLHOOKSTRUCT *kbdhs = reinterpret_cast(lParam);

if((kbdhs->vkCode == 0x41 && wParam == WM_KEYDOWN) &&
(GetAsyncKeyState(VK_LCONTROL) & 0x8000) &&
(GetAsyncKeyState(VK_LSHIFT) & 0x8000))
{
OutputDebugStringA("Ctrl+Shift+A pressed\r\n");
}
}
Это простой код, и он работает.
Но мне нужно перехватить комбинацию клавиш отпустить с помощью низкоуровневый перехват клавиатуры. Еще раз - не нажимая комбинацию клавиш, а отпуская комбинацию клавиш. Как мне это сделать? Есть идеи?

Подробнее здесь: https://stackoverflow.com/questions/782 ... ow-level-k

Вернуться в «C++»