KeyDown, KeyPress, KeyUp
От: DmitriAl  
Дата: 19.10.05 18:55
Оценка:
Добрый день!

Подскажите, как решить проблему: я ловлю нажатия клавиш следующим образом

LRESULT CALLBACK HookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
    if (nCode >= 0) {
        switch (state) {
            case 0:
                if (wParam == VK_CONTROL)


Нажатие на одну клавишу создает три сообщения: KeyDown, KeyPress, KeyUp. Я хочу обрабатывать только KeyDown. В MSDN написано, что если 31 бит lParam равен нулю, то клавиша нажата, иначе клавиша отжата. Я пишу

if ((wParam == VK_CONTROL) && !(lParam & 80000000))


Но это условие выполняется уже два раза, а не три при нажатии на одну клавишу. Как сделать, чтобы оно выполнялось один раз?

20.10.05 11:06: Перенесено модератором из '.NET' — TK
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.