Page 1 sur 1

Simuler une frappe au clavier dans une application externe.

Publié : jeu. 03/avr./2008 9:12
par gildev
Bonjour,

Suite à un besoin personnel, j'ai imaginé un programme tout bête mais avant de me lancer il me manque une subtilité:
Comment simuler une frappe au clavier dans un programme externe?

Par exemple: Dans un jeu je dois appuyer simultanément sur les touches [SHIFT] et [4] pour lancer un sort, mais j'aimerai à la place simplement appuyer sur la touche [FIN] (qui est juste au dessus de la touche [flèche haut]).
Le but est donc de récupérer la frappe de la touche [FIN] (ça c'est facile avec une API) mais ensuite envoyer [SHIFT] et [4] au jeu (ça c'est moins évident).


Je pense même y ajouter un timer par la suite pour automatiser le procédé, mais ça j'y arriverai.

Merci d'avance.

Publié : jeu. 03/avr./2008 13:55
par Oliv
Il faut utiliser la fonction keybd_event_()

Un exemple pour l'utiliser :

Code : Tout sélectionner

Procedure touche(Option.l)
  keybd_event_(Option,0,0,0)
  keybd_event_(Option,0,#KEYEVENTF_KEYUP,0)
  Delay(60)
EndProcedure

touche(#VK_A)
La liste des touches est

Publié : jeu. 03/avr./2008 16:58
par Kayne
je sais pas dans ton jeux mais j'avais essayer un truc comme ça dans bf2 ou on fait répéter l'appui sur la touche E (on doit appuyer sur E pour entrer dans les vehicules) eh bien le jeu est protégé contre ce genre de truc. J'espere que c'est pas le cas dans ton jeu

Publié : ven. 04/avr./2008 12:14
par gildev
>> Oliv:
Je test ça dès ce soir. Merci beaucoup! :D

>> Kayne:
J'espère que non, c'est pour le jeu Archlord. Je le saurai très vite. Je posterai le résultat après mes essais.