cs_lbn
Messages postés2Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention 6 août 2009
-
5 août 2009 à 19:16
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
6 août 2009 à 17:49
Bonjour à tous,
Après de nombreuses recherches infructeuses sur web et sur le forum, après plusieurs essais vains, je vous sollicite pour comprendre.
CE QUE JE CHERCHE A FAIRE:
Je cherche à émuler la pression des touches numériques du clavier principal (pas du numpad) et de la série des F1 à F12 dans un jeux que j'utilise, afin de macroter certaines action répétitives.
CE QUE J'AI TENTé:
-J'ai fais des essais avec sendkeys. Lorsque je suis sous la chatbox, les chiffres apparaissent bien comme un texte envoyé. Lorsque je ne suis pas en chat, le jeux n'interprete pas mes valeur envoyées (et donc la touche 1 sensée opérer quelque chose ne fait rien)
-J'ai essayé avec Keybd_event.
Je commence par déclarer :
Private Declare Sub keybd_event Lib "user32" Alias "keybd_event" ( _
ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)
Sur la procédure clic d'un bouton, je met par exemple :
Call keybd_event (82, 0, 0, 0)
ou
keybd_event 82, 0, 0, 0 (sans les parenthese et sans le CALL, je ne vois d'ailleur pas la difference)
Dans ce cas, la lettre 'r' est bien envoyée à l'application (et je vois un 'r' apparaitre dans la chatbox de mon jeux) mais le 'r' n'est pas interpreté et la fonction sous jacente (sensé faire un reply) ne se lance pas.
Pourtant, lorsque que modifie la fonction avec
keybd_event 82, 2, 0, 0
Je n'obtiens plus de "r", mais la fonction du logiciel lié à la touche '1'
En fait, je ne comprends pas vraiment comment faire fonctionner la simulation de la pression de touche, sans m'occuper de la valeur qu'elle renvoit.
Merci de m'orienter dans la mesure de vos possibilités :)
cs_lbn
Messages postés2Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention 6 août 2009 6 août 2009 à 15:55
Quand je clique c'est bien le formu qui prend le focus.
Directement s'en suit une tempo de 5sec, pendant laquel je focus ma fenetre de jeu.
Avec ou sans relachement, le résultat est le même malheuresement. La valeur de la touche est bien envoyée (^puisque je la receptionne dans la console de chat du jeux) mais elle n'est pas interprétée en tant que pression de touche.