Keybd_event [Résolu]

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

Votre réponse

4 réponses

Meilleure réponse
Steph115
Messages postés
163
Date d'inscription
mercredi 22 octobre 2003
Dernière intervention
3 février 2012
- 18 mai 2005 à 20:52
3
Merci
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.

Merci Steph115 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de Steph115
cs_Joky
Messages postés
1791
Date d'inscription
lundi 22 novembre 2004
Dernière intervention
31 janvier 2009
- 18 mai 2005 à 12:20
Commenter la réponse de cs_Joky
Steph115
Messages postés
163
Date d'inscription
mercredi 22 octobre 2003
Dernière intervention
3 février 2012
- 18 mai 2005 à 17:58
0
Merci
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
Messages postés
6539
Date d'inscription
lundi 16 décembre 2002
Dernière intervention
22 août 2010
- 18 mai 2005 à 19:47
0
Merci
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.