Simulation Clavier (keybd_event) --- URGENT !

Résolu
cs_Omeya Messages postés 28 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 10 août 2006 - 1 févr. 2004 à 14:31
cs_Omeya Messages postés 28 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 10 août 2006 - 24 sept. 2009 à 21:35
Bonjour,

J'essaye de simuler des touches de clavier avec mon programme, en utilisant la commande :

keybd_event (13,0,0,0);
keybd_event (13,0,KEYEVENTF_KEYUP,0);

(simulation de la touche Entrée)

Seulement, certains programmes refusent de prendre en compte le message envoyer par keybd_event, Alors qu ils prennent en compte le message envoyé directement par le clavier... ?!?

Pouvez-vous m'expliquer pourquoi SVP? Les programmes en questions seraient-ils capable de reconnaitre un message envoyé par keybd_event d'un message envoyé par le clavier?
Si oui, quelle serait la solution pour les forcer à traiter le message simulé par keybd_event comme s'il s'agissait d'un vrai message clavier ?

Merci d'avance pour vos réponses !

7 réponses

Spasher Messages postés 14 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 3 juillet 2009 2
3 juil. 2009 à 15:24
Slt ( Omeya ),

En fait, certains programmes ne "reçoivent" pas la simulation des touches, car ils utilisent DirectX. Si tu fais l'expérience avec des programmes comme Bloc-Note, ou calculatrice ça fonctionnera sûrement
Il faut apparement utilisé la fonction " DirectInput "; aprés j'en sais pas plus...
Mais, va faire un tour sur le lien dans le P.S; on a le même probléme

Aprés pour l'utilisation du Hook, je débute en langage C; donc je ne sais pas

P.S:

Besoin d'aide sur :
http://www.cppfrance.com/forum/sujet-KEYBD_EVENT-DANS-DIRECTX_1297075.aspx

By
Spasher Production_FB
3
cs_Adeon Messages postés 293 Date d'inscription jeudi 21 août 2003 Statut Membre Dernière intervention 10 avril 2015 2
1 févr. 2004 à 17:34
moi ca marche très bien
avec quel prog ca marche pas?
:big) Adeon 8-)
0
cs_Omeya Messages postés 28 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 10 août 2006
1 févr. 2004 à 18:36
Avec des jeux comme Dark Age of Camelot, ou d autres...
mais je pense avoir trouvé la source du pbm.
En fait le programme doit surement utiliser un Hook Clavier, et intercepter les messages en amont.
Si tu as une autre idée, je suis intéressé.
0
cs_Omeya Messages postés 28 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 10 août 2006
1 févr. 2004 à 18:37
P.S. : kan je dis programme, je parle du jeu en question (DAoC).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Adeon Messages postés 293 Date d'inscription jeudi 21 août 2003 Statut Membre Dernière intervention 10 avril 2015 2
2 févr. 2004 à 16:04
je n'ai pas d'autres idées...
:big) Adeon 8-)
0
dinous Messages postés 57 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 21 juin 2006
17 mars 2004 à 10:52
Omeya j'ai ta solution ...
Mais en VB :)
enfin laisse moi un msg si tu veux qu'on en parle
Mon prog me permet de crafter pendant queje mange ou prend ma douche etc ....

@+
0
cs_Omeya Messages postés 28 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 10 août 2006
24 sept. 2009 à 21:35
Bonsoir,

Vous venez de remonter un topic vieux de 5 ans!!
J'aurais dû fermer ce topic mais j'avais complètement zappé à l'époque et ma vie venait de basculer... bref.

Concernant le fond du problème, je l'avais finalement résolu. DAoC répondait à chacune de mes commandes, que ce soit en craft ou bien pour donner des ordres PvP à d'autres joueurs, comme je n'utilisais pas Skype et compagnie.

@ Spasher : effectivement, je n'avais jamais pensé à DirectInput! Merci pour cette piste =)
N'ayant pas exploré cette voie, je m'étais résigné à contourner DirectInput, avec succès.

Pour info, aujourd'hui, j'ai arrêté le dév en C++ pour me concentrer sur l'intégration de sites web 2.0. Je ne suis donc plus tellement dans le coup.

Omeya
0
Rejoignez-nous