Ordinastie
Messages postés93Date d'inscriptionsamedi 29 janvier 2005StatutMembreDernière intervention17 octobre 2008
-
7 oct. 2005 à 15:16
Ordinastie
Messages postés93Date d'inscriptionsamedi 29 janvier 2005StatutMembreDernière intervention17 octobre 2008
-
8 oct. 2005 à 18:52
Bonjour.
Voial, mon but est de simuler l'appui d'une touche ou d'un séquence de touches du clavier.
M'étant penché du coté de l'API win, j'ai réussi à faire quelque chose qui y ressemble (PostMessage). Seulement, ce que je souhaiterai faire est plus compliqué: j'aimerai envoyer le message non pas a un instance d'application mais au systeme de facon plus générale. De facon à ce que le message soit retransmis a l'appli qui a le focus. Je sais pas si c'est réellement faisable en C#, s'il existe quelque chose du coté de l'API win, ou autre, c'est pour ca que j'aimerai un peu d'aiguillage =)
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 8 oct. 2005 à 17:17
Si c'est un jeu, y'a de grandes chances que le clavier soit géré avec DirectInput, le principe de DirectInput c'est de communiquer directement avec le driver du périphérique mais en général on n'utilise pas DirectInput pour entrer du texte car c'est plutôt fastidieux, et vu que le 2éme {ENTER} fonctionne, je pense à un contrôle, et si ça ne marche pas c'est peut être parce que le contrôle n'a pas le focus.
Ordinastie
Messages postés93Date d'inscriptionsamedi 29 janvier 2005StatutMembreDernière intervention17 octobre 20082 7 oct. 2005 à 15:41
Merci pour la réponse rapide. J'ai eu du mal a trouvé la classe parce que c'est SendKeyS et que les recherches dans MSDN ne font pas le lien.
Je peux pas tester maintenant mais je le ferai ce soir.
Merci =)
Ordinastie.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Ordinastie
Messages postés93Date d'inscriptionsamedi 29 janvier 2005StatutMembreDernière intervention17 octobre 20082 8 oct. 2005 à 16:09
Merci pour vos réponses. Ca marche pas tout a fait, mais presque =)
Ce que j'essaye de faire, c'est de quitter un jeu automatiquement, en envoyant grosso-modo:
{ENTER}
/quit
{ENTER}
Les deux propositions font la même chose, si j'appuie moi meme sur la touche ENTER, l'input est bien passé, et "/quit" s'affiche bien et le deuxieme enter passe bien.
Le problème, c'est que c'est le premier qui passe pas. Comme c'est vraiment "dans" le jeu, la gestion de l'input du clavier doit pas etre la meme (directInput?) qu'au moment de taper la commande et ca marche pas :/
Je vais essayer de voir si du coté de SendInput ca marche mieux, mais j'y crois pas trop... faut que j'arrive a refaire la structure et c'est pas gagné.
L'ideal, je crois que ca serait de pouvoir simuler quasiement au niveau hardware, mais je sais pas si c'est faisable.
En tout cas, si vous avez d'autres idées, je suis preneur ;)
Ordinastie
Messages postés93Date d'inscriptionsamedi 29 janvier 2005StatutMembreDernière intervention17 octobre 20082 8 oct. 2005 à 18:52
J'ai continué de faire quelque teste, et bizarrement, je peux utiliser la souris. Je trouve ca etonnant qu'elle soit pas utilisée avec DirectInput aussi.
Sinon, il y aurait un moyen de déclencher l'evenement au niveau du driver? Pour que le jeu ait l'impression de l'appui sur la touche?
Si c'est pas trop compliqué, ca m'interesserait, sinon, tant pis, je me debrouillerai avec la souris =)