带低级键盘钩的热键

时间:2013-06-19 08:01:42

标签: c++ keyboard hook

我的程序知道2个状态:A和B,其中A是默认状态。 按ALT-#时,应将其状态更改为B,当您释放组合时,应返回A. 这应该与LowLevel Keyboard钩子一起使用,但似乎我被困在某个地方。

#define VK_POUND 0xBF // 191 - the # key
LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) { 
    if (nCode == HC_ACTION) { 
        KBDLLHOOKSTRUCT* kbdStruct = reinterpret_cast<KBDLLHOOKSTRUCT*>(lParam); 

        switch (wParam) { 
            case WM_KEYDOWN: {
                std::cout << kbdStruct->vkCode << "\n";
                if (kbdStruct->vkCode == VK_POUND && kbdStruct->flags & LLKHF_ALTDOWN) { 
                    MessageBox(NULL, "WE GOT IT", "", MB_OK); 
                } 
            } break; 

            case WM_KEYUP: { 
            } break; 
        } 
    } 

    return CallNextHookEx(g_HotKeyHook, nCode, wParam, lParam); 
}

令我困惑的是:当我按下组合ALT和#时,控制台中没有输出。

0 个答案:

没有答案