Question

J'ai été en mesure de définir des raccourcis clavier locaux comme celui-ci

 RegisterHotKey(hwndDlg, 100, MOD_ALT | MOD_CONTROL, 'S');

Comment puis-je définir le raccourci clavier comme étant global? Je veux qu'il soit là même quand ma fenêtre est cachée.

Était-ce utile?

La solution

Je l'ai résolu moi-même mais merci pour votre réponse voici ce qui n'allait pas ...

ShowWindow(hwndDlg, SW_HIDE);
RegisterHotKey(hwndDlg, 100, MOD_ALT | MOD_CONTROL, 'S');

si vous enregistrez le raccourci clavier d’abord puis cachez la fenêtre ... il l’ignore pour une raison quelconque ... ah bon ... ça marche maintenant:)

Autres conseils

http: // msdn .microsoft.com / ru-RU / bibliothèque / windows / desktop / ms646309 (v = vs.85) .aspx

  

hWnd [in, facultatif]

     

Type: HWND

     

< ... > Si ce paramètre est NULL, les messages WM_HOTKEY sont publiés sur le   file de messages du thread appelant et doit être traitée dans le dossier   boucle de message.

C’est un meilleur moyen d’enregistrer des raccourcis clavier mondiaux.

Peu importe que votre fenêtre soit visible ou non. Vous ne devez pas utiliser un mot que vous prévoyez de détruire (comme un dialogue). Créez une fenêtre (invisible) séparée si vous ne possédez aucune autre fenêtre appropriée.

Vous définissez d’abord une ou plusieurs constantes pour vos raccourcis clavier

#define HOTKEY1 1000
#define HOTKEY2 1002

Ensuite, vous enregistrez ces touches de raccourci

RegisterHotKey(NULL, HOTKEY1, MOD_ALT + MOD_SHIFT, 0x53); // ALT+SHIFT+s
RegisterHotKey(NULL, HOTKEY2, MOD_ALT + MOD_SHIFT, 0x51); // ALT+SHIFT+q

Enfin, dans l'événement principal, surveillez ces touches de raccourci et y répondez:

         if (msg.message == HOTKEY1)
         {
             switch (LOWORD(msg.wParam))
             {
             case HOTKEY1:
                 // do such and such
                 break;
             case HOTKEY2:
                 // do such and such
                 break
             }
         }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top