如何在我的Win32应用程序中捕获CTRL + CTRL键按下?

时间:2010-02-10 19:11:23

标签: c++ keyboard shortcut ctrl registerhotkey

如何全局捕捉用户按两次 Ctrl + Ctrl 的用户。我希望能够隐藏我的应用程序窗口,然后在用户使用类似于Google快速搜索框的 Ctrl Ctrl 键按下它时调用它。用户可能专注于不同的窗口。我看过RegisterHotKey,但这似乎是MODIFIERS + character key,除非我弄错了。

1 个答案:

答案 0 :(得分:3)

要创建这样的热键,请执行以下操作:

ATOM hotkey = GlobalAddAtom("Your hotkey atom name");
if(hotkey) RegisterHotKey(hwnd, hotkey, MOD_CONTROL, VK_CONTROL);
else { ...error... }

然后处理WM_HOTKEY消息:

case WM_HOTKEY:
    if(wParam == hotkey)
    {
       // CTRL pressed!!!
    }
break;

我想你会发现自己需要存储之前是否按下 CTRL 键。例如,如果在最后500毫秒内按下了一次,并且用户再次按下它,则按下 CTRL + CTRL