Keybd_event [Résolu]

Steph115 163 Messages postés mercredi 22 octobre 2003Date d'inscription 3 février 2012 Dernière intervention - 18 mai 2005 à 11:29 - Dernière réponse : Steph115 163 Messages postés mercredi 22 octobre 2003Date d'inscription 3 février 2012 Dernière intervention
- 18 mai 2005 à 20:52
Bonjour,

pour simuler une combinaison de touches (par exemple ALT+ENTRER) il faut utiliser cette fonction la :

keybd_event(VK_MENU,0x38,0,0);
keybd_event(VK_RETURN,0x1c,0,0);
keybd_event(VK_RETURN,0x1c,KEYEVENTF_KEYUP,0);
keybd_event(VK_MENU,0x38,KEYEVENTF_KEYUP,0);

Par contre pour simuler une lettre je ne vois vraiment pas comment faire.

Merci de votre réponse. ++ Nexus

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
Afficher la suite 

4 réponses

Répondre au sujet
Steph115 163 Messages postés mercredi 22 octobre 2003Date d'inscription 3 février 2012 Dernière intervention - 18 mai 2005 à 20:52
+3
Utile
Lol en fait je n'avais pas bien comprit la fonction keybd_event, en fait le deuxieme argument ne sert a rien et seul le premier est utile. Je pensais que dans le premier on mettait le #define de la fonction (VK_....) et dans le deuxieme le code en hexa.

En plus ma ligne est fausse car ce n'est pas VK_RETURN,0x13 qu'il faut mettre mais VK_RETURN,0x0D. Mais comme le deuxieme ne compte pas c pour ca que le programme n'en tenait pas compte.

Je donne un exemple pour ceux qui n'y arrivent pas avec une touche a en minuscule :

keybd_event(0x41,0,0,0);
keybd_event(0x41,0,KEYEVENTF_KEYUP,0);

une touche a en majuscule :

keybd_event(VK_CAPITAL,0,0,0);
keybd_event(VK_CAPITAL,0,KEYEVENTF_KEYUP,0);
keybd_event(0x41,0,0,0);
keybd_event(0x41,0,KEYEVENTF_KEYUP,0);

et avec une touche @ :

keybd_event(VK_MENU,0,0,0); // Appuie sur la touche ALT
keybd_event(VK_CONTROL,0,0,0); // Appuie sur la touche CTRL
keybd_event(0x30,0,0,0); // Appuie sur la touche 0
keybd_event(0x30,0,KEYEVENTF_KEYUP,0); // Relache la touche 0
keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0); // Relache la touche CTRL
keybd_event(VK_MENU,0,KEYEVENTF_KEYUP,0); // Relache la touche CTRL

Merci. ++ Nexus

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Steph115
cs_Joky 1791 Messages postés lundi 22 novembre 2004Date d'inscription 31 janvier 2009 Dernière intervention - 18 mai 2005 à 12:20
Commenter la réponse de cs_Joky
Steph115 163 Messages postés mercredi 22 octobre 2003Date d'inscription 3 février 2012 Dernière intervention - 18 mai 2005 à 17:58
0
Utile
Merci pour ce lien mais justement il n'indique que pour les lettres A...Z en majuscules et je ne sais pas quoi mettre dans le premier argument de la fonction keybd_event

Merci. ++ Nexus

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
Commenter la réponse de Steph115
vecchio56 6539 Messages postés lundi 16 décembre 2002Date d'inscription 22 août 2010 Dernière intervention - 18 mai 2005 à 19:47
0
Utile
Tu n'a pas a tenir compte de majuscules ou de minuscules. Tout dépend
de l'état du Caps Lock. S'il est activé et que tu appuies sur a ca fera
un A majuscule, sinon un A minuscule. Tu peux aussi changer cet etat
avec la touche VK_CAPITAL
Commenter la réponse de vecchio56

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.