Comment capturer CTRL + CTRL presse touche dans mon application Win32?
-
19-09-2019 - |
Question
Comment puis-je saisir l'utilisateur en appuyant sur Ctrl deux fois ( Ctrl + Ctrl ) dans le monde. Je veux être en mesure d'avoir ma fenêtre d'application cachée, puis le rendre visible lorsque l'utilisateur appelle avec la Ctrl Ctrl touches similaires à Google Quick Search Box. L'utilisateur peut avoir le focus sur une autre fenêtre. Je l'ai regardé RegisterHotKey, mais qui semble être pour MODIFIERS + character key
à moins que je ne me trompe pas.
La solution
Pour créer un tel raccourci clavier, faites ceci:
ATOM hotkey = GlobalAddAtom("Your hotkey atom name");
if(hotkey) RegisterHotKey(hwnd, hotkey, MOD_CONTROL, VK_CONTROL);
else { ...error... }
Et puis gérer le message WM_HOTKEY
:
case WM_HOTKEY:
if(wParam == hotkey)
{
// CTRL pressed!!!
}
break;
Je suppose que vous allez comprendre vous-même que vous devez stocker si le CTRL touche a été pressée avant. Par exemple, si elle a été pressée une fois dans les 500 ms dernier, et l'utilisateur, il appuie à nouveau, vous avez un CTRL + CTRL appuyez sur.