【发布时间】:2013-06-29 11:09:34
【问题描述】:
我需要重新映射一些键,例如 Left Alt 但我只是禁用它,因此禁用 Left Alt 的代码如下所示:
LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode == HC_ACTION)
{
KBDLLHOOKSTRUCT* p = (KBDLLHOOKSTRUCT*) lParam;
if (p->vkCode == VK_LMENU) return 1;
}
return CallNextHookEx(hHook, nCode, wParam, lParam);
}
所以我尝试将左 Alt 重新映射到左 Ctrl 并使用像 keybd_event 和 SendMessageA 这样的函数,但什么也没得到。
LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode == HC_ACTION)
{
KBDLLHOOKSTRUCT* p = (KBDLLHOOKSTRUCT*) lParam;
if (p->vkCode == VK_LMENU)
{
keybd_event(VK_CONTROL, 0, 0, 0);
// or use this is sameSendMessageA(0, WM_KEYUP, VK_CONTROL, 0);
}
}
return CallNextHookEx(hHook, nCode, wParam, lParam);
}
如何将左 Alt 重新映射到左 Ctrl?
【问题讨论】:
标签: c++ windows keyboard shortcut remap