Domanda

Come faccio a catturare l'utente preme Ctrl per due volte ( Ctrl + Ctrl ) a livello globale. Voglio essere in grado di avere la mia finestra nascosta e quindi renderlo visibile quando l'utente richiama con il Ctrl Ctrl pressioni dei tasti simili a Ricerca Google Quick Box. L'utente può avere focus su una finestra diversa. Ho guardato RegisterHotKey, ma che sembra essere per MODIFIERS + character key se non mi sbaglio.

È stato utile?

Soluzione

Per creare un tale tasto di scelta rapida, fare questo:

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

E poi gestire il messaggio WM_HOTKEY:

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

Credo che potrai capire te stesso che è necessario memorizzare se il CTRL tasto è stato premuto prima. Ad esempio, se è stato premuto una volta negli ultimi 500 ms, e l'utente preme di nuovo, si dispone di un CTRL + CTRL stampa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top