2012-06-24 2 views
-3

Salut J'ai une application C# qui utilise keybd_event pour simuler virtuellement les touches pressées. Lorsque je lance l'application, toutes les touches fonctionnent correctement. Cependant, après avoir fermé mon application, certaines de mes touches sur le clavier se brouillent lorsque j'appuie sur une certaine touche pour que la commande par défaut ne se produise pas.clavier brouillé après l'utilisation keybd_event

Merci.

+1

Vous voulez montrer du code ou quelque chose avant que votre question ne soit classée comme une vraie question? –

Répondre

2

Je suppose que vous avez oublié de libérer une touche de modification que vous avez "appuyé" par programmation. Assurez-vous d'appeler le keybd_event avec l'option KEYEVENTF_KEYUP pour chaque touche que vous appuyez.

Voici un exemple d'appuyer sur Ctrl + Q:

keybd_event(VK_CONTROL, 0, 0, 0); 
keybd_event(VK_Q, 0, 0, 0); 
keybd_event(VK_Q, 0, KEYEVENTF_KEYUP, 0); 
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0); 

Si vous oubliez la dernière ligne, toutes vos touches suivantes - même si elle est effectuée manuellement par l'utilisateur - seraient interprétées comme si le Ctrl clé étaient encore pressés.

+0

Merci J'ai eu la touche Windows qui a gâché mes entrées de clavier. – watereater

Questions connexes