Keybd_event

Résolu
Steph115 Messages postés 163 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 3 février 2012 - 18 mai 2005 à 11:29
Steph115 Messages postés 163 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 3 février 2012 - 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.

4 réponses

Steph115 Messages postés 163 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 3 février 2012
18 mai 2005 à 20:52
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.
3
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
18 mai 2005 à 12:20
0
Steph115 Messages postés 163 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 3 février 2012
18 mai 2005 à 17:58
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.
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
18 mai 2005 à 19:47
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
0
Rejoignez-nous