私のプログラムは、A と B の 2 つの状態を認識しています。ここで、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 と # の組み合わせを押すと、コンソールに出力がありません。