как предотвратить зацикливание при перехвате события keydown? - PullRequest
0 голосов
/ 05 мая 2018

Я надеюсь подключить клавиатуру, но если я подключил ее,

когда я нажимаю и удерживаю,

он всегда звонит, пока я его не отпущу

но я просто хочу назвать его один раз как keyup

что мне делать?

LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
    if (wParam == WM_KEYDOWN)
    {
        PKBDLLHOOKSTRUCT pKey = (PKBDLLHOOKSTRUCT)lParam;
        int key = pKey->vkCode;
        cout << key << endl;

    }
    if (wParam == WM_KEYUP)
    {
        PKBDLLHOOKSTRUCT pKey = (PKBDLLHOOKSTRUCT)lParam;
        int key = pKey->vkCode;
        cout << key << endl;
    }
    CallNextHookEx(hKBHook, nCode, wParam, lParam);
    return 0;
}

int _tmain() {
    HMODULE hInstance = GetModuleHandle(NULL);
    hKBHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardProc, hInstance, NULL);

    MSG Msg;

    while (GetMessage(&Msg, NULL, 0, 0)) { DispatchMessage(&Msg); }

    return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...