Simulation appui de 3 secondes sur flèches directionnelles

Signaler
Messages postés
10
Date d'inscription
mercredi 26 janvier 2005
Statut
Membre
Dernière intervention
29 novembre 2010
-
Messages postés
10
Date d'inscription
mercredi 26 janvier 2005
Statut
Membre
Dernière intervention
29 novembre 2010
-
Salut à toutes et à tous.
Bon, comme le titre l'indique, je cherche à simuler un appui de 3 secondes sur les flèches directionnelles.
J'ai bien essayé avec l'api keybd_event mais cette api ne fait qu'une pression de touche

Exemple : Call keybd_event(37, 0, 0, 0)

J'ai également essayé d'inclure cette ligne de commande dans une boucle do...loop mais :
1 - le programme freeze
2 - pas facile de faire correspondre un nombre de boucles avec un temps (3 secondes en l'occurrence).

Quelqu'un a t'il une idée ?
Mille merci, je galère à mort :D
Kraft

8 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
quel est le but de l'opération ? quel type de fenetre souhaites tu piloter ?
est-ce une fenetre de ton application ?


relis ta doc de keybd_event... permet de faire presser ou relacher la touche, comme tu le souhaite.



Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Messages postés
10
Date d'inscription
mercredi 26 janvier 2005
Statut
Membre
Dernière intervention
29 novembre 2010

Bonsoir Renfield. Autant pour moi, je n'ai pas précisé ce point.
Effectivement, c'est pour effectuer des déplacements dans un jeu, donc, dans une autre fenêtre.
J'avais omis ce point qui est loin d'être négligeable. Mille merci de l'avoir souligné.
Bonne soirée.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
Quel type de jeu est-ce ?
Flash, simple page web, DirectX (entrées via DirectInput)

est-ce que le jeu réagit a tes actions VB ?

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Messages postés
10
Date d'inscription
mercredi 26 janvier 2005
Statut
Membre
Dernière intervention
29 novembre 2010

Le jeu est un MMO qui est relativement vieux. C'est de la 3D isométrique donc, du directx.
Quoiqu'il en soit, le jeu réagit bien lorsque keybd_event est envoyé (exemple : simulation des touches CTRL+SHIFT+A fonctionne très bien).
Lorsque j'envoie le keyb_event pour les flèches directionnelles, cela fonctionne mais juste 1 fois or je souhaiterais que la touche droite soit pressée pendant 3 secondes, puis celle du bas pendant 2 secondes, etc... histoire de créer un déplacement automatique du personnage :)
Tschu ;)
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
ok...

comme je te l'ai dit, relis ta doc msdn...

keybd_event a cet avantage de permettre de dire si tu demande l'appui ou le relachement de la touche en question...

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Messages postés
10
Date d'inscription
mercredi 26 janvier 2005
Statut
Membre
Dernière intervention
29 novembre 2010

Salut Renfield.
Bon, j'ai du nouveau. En me creusant la tête, j'ai trouvé réponse à ma question MAIS...
La simulation des touches directionnelles fonctionne dans les programmes (essai avec openoffice calc), mais pas dans le jeu qui est basé sous directX.

Ce qui est d'autant plus étonnant, c'est que le jeu répond à une simulation de certaines touches mais pas aux touches directionnelles (exemple : ça fonctionne pour une combinaison CTRL+SHIFT+W mas pas pour toudches droite, gauche, haut et bas).

Une soluce à m'apporter ?
Ciao
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
"3D isométrique donc, du directx."

j'ignore d'ou tu tires cette relation de cause a effet...

quoi qu'il en soit, DirectX (en fait, DirectInput, s'il est utilisé pour gérer les entrées) ne passe pas par windows, mais lis l'êtat du matériel directement...

Ctrl Shift W.... un raccourci d'un menu ? si oui, cette partie est gérée par Windows, donc oui, cela fonctionnera...

quel est le code que tu testes, pour ton VK_LEFT ?

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Messages postés
10
Date d'inscription
mercredi 26 janvier 2005
Statut
Membre
Dernière intervention
29 novembre 2010

Pour l'instant, je ne teste aucun code car je me lance dans la compréhension de directinput.

J'essaie de trouver quelque chose là dessus mais je trouve essentiellement des exemples en .net ou C++...

Je continue de chercher...
http://www.ex-designz.net/apidetail.asp?api_id=500
et
http://www.developpez.net/forums/d260923/autres-langages/general-visual-basic-6-vbscript/vb-6-anterieur/vb6-simuler-clavier-sendkeys-keybd_event/

Me reste plus qu'à comprendre...