API Windows - enregistrement d'un raccourci clavier avec plusieurs combinaisons de touches
Ainsi, par exemple, je peux facilement enregistrer une touche de raccourci qui est une combinaison de Shift, Alt (touches Mod) et flèche vers le haut:
RegisterHotKey(NULL, TOP, MOD_SHIFT | MOD_ALT, VK_UP);
Cela fonctionne très bien, mais ce que je cherche est d'enregistrer une touche de raccourci avec les mêmes touches que ci-dessus PLUS une autre touche normale comme la flèche gauche, donc la combinaison serait Shift, Alt, Flèche haut, Flèche gauche.
Il n'y a pas d'espace dans la fonction pour un autre argument, et j'ai essayé de faire un OU au niveau du bit pour les touches fléchées Haut et Gauche comme
VK_UP | VK_LEFT
... mais ça ne marche pas. Si quelqu'un a déjà rencontré ce problème ou sait comment je procède, aidez-moi!
Les raccourcis clavier Windows ne prennent pas en charge plusieurs touches (non modificateurs). Vous ne pouvez pas bit à bit OU plusieurs VK_*
valeurs, seules les MOD_*
valeurs peuvent être combinées.
Si vous avez désespérément besoin de cette fonctionnalité, vous devez utiliser un crochet de clavier de bas niveau et suivre les touches vous-même. L'accrochage affecte les performances globales du système et doit être évité si possible.
Si vous décidez de faire cela, vous devez vous rappeler que les utilisateurs de Windows ne sont pas habitués à appuyer sur les touches de raccourci de cette façon, seuls les menus autorisent un modèle quelque peu similaire, mais vous n'avez pas besoin de maintenir le Altmodificateur pour que cela fonctionne. Vous devez également vous rappeler de tester votre hook avec StickyKeys et d'autres fonctionnalités d'accessibilité ...