0

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

#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 和 # 时,控制台中没有输出。

4

0 回答 0