Simulation Clavier (keybd_event) --- URGENT ! [Résolu]

Messages postés
28
Date d'inscription
dimanche 4 mai 2003
Statut
Membre
Dernière intervention
10 août 2006
- - Dernière réponse : 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 !
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
14
Date d'inscription
jeudi 25 juin 2009
Statut
Membre
Dernière intervention
3 juillet 2009
2
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 193 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Spasher
Messages postés
293
Date d'inscription
jeudi 21 août 2003
Statut
Membre
Dernière intervention
10 avril 2015
1
0
Merci
moi ca marche très bien
avec quel prog ca marche pas?
:big) Adeon 8-)
Commenter la réponse de cs_Adeon
Messages postés
28
Date d'inscription
dimanche 4 mai 2003
Statut
Membre
Dernière intervention
10 août 2006
0
Merci
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é.
Commenter la réponse de cs_Omeya
Messages postés
28
Date d'inscription
dimanche 4 mai 2003
Statut
Membre
Dernière intervention
10 août 2006
0
Merci
P.S. : kan je dis programme, je parle du jeu en question (DAoC).
Commenter la réponse de cs_Omeya
Messages postés
293
Date d'inscription
jeudi 21 août 2003
Statut
Membre
Dernière intervention
10 avril 2015
1
0
Merci
je n'ai pas d'autres idées...
:big) Adeon 8-)
Commenter la réponse de cs_Adeon
Messages postés
57
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
21 juin 2006
0
Merci
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 ....

@+
Commenter la réponse de dinous
Messages postés
28
Date d'inscription
dimanche 4 mai 2003
Statut
Membre
Dernière intervention
10 août 2006
0
Merci
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
Commenter la réponse de cs_Omeya