Page 1 sur 1
[R] Simuler une touche
Posté : mar. 07 oct. 2008 19:51
par swisstoxon
Bonjour,
J'aimerai bien avoir un script qui simule l'appui d'une touche(touche "6" par ex) à l'infini avec un intervalle ( 5 seconde par ex.). Pourriez-vous m'en fournir un ??
Ce script sera utilisé sur un jeu afin d'éviter que je reste derrière mon pc à appuyer durant 4h la même touche.
Merci d'avance
Re: [..] Simuler une touche
Posté : mar. 07 oct. 2008 21:05
par L4crymal
TRÈS TRÈS TRÈS SIMPLE :
Code : Tout sélectionner
Sleep ("5000") ; attend 5 secondes avant de commencer l'infinité de "6"
While 1 ; commencement de la boucle infinie
Send ("{NUMPAD6}") ; appuie sur "6"
Sleep ("5000") ; attend 5 secondes entre chaque appuie
WEnd ; fin de la boucle infini
Re: [R] Simuler une touche
Posté : sam. 11 oct. 2008 12:51
par shugo
Bonjour, ayant un problème sur un jeu, je suis dans l'obligation de tapoter sur ENTER comme un malade à chaque entrée de serveur pour que l'application ne plante pas.
Je me suis donc tourné vers AutoIt, malheureusement je n'ai pas trouvé comment faire pour faire un " bind ".
Exemple : j'aimerais qu'à chaque fois que j'appuie sur F6, en laissant appuyé, la touche ENTER se répète à intervalles réguliers ( un peu moins d'une demi seconde ), est-ce possible avec AutoIt ?
Si non, possible de créer une touche pour activer puis désactiver la script ?
Exemple : le script est lancé mais inactif, j'appuie une fois sur F6 et il se lance, ça appuie rapidement sur enter, une fois connecté sur le serveur je ré appuie sur F6 et le script s'arrête.
J'ai préféré poster dans ce topic, ma demande étant une sorte d'amélioration de celle ci.
Merci d'avance.
Re: [R] Simuler une touche
Posté : sam. 11 oct. 2008 13:17
par Tlem
@shugo, il me semble que le sujet à déjà été abordé à plusieurs reprises.
Utilisez l'outil de recherche du forum.
Re: [R] Simuler une touche
Posté : sam. 11 oct. 2008 13:23
par shugo
Tlem,
J'ai utilisé l'outil de recherche avec des mots clés que je pensais pertinent, mais ça n'a pas abouti.
Re: [R] Simuler une touche
Posté : sam. 11 oct. 2008 13:27
par jbnh
Regarde du coté de hotkeyset
Re: [R] Simuler une touche
Posté : sam. 11 oct. 2008 13:31
par Tlem
L'utilisation des termes : 'simulation touche' me donne 2 résultats pertinents.
Pour la répétition utilisez la recherche sur le mot 'boucle'.
Re: [R] Simuler une touche
Posté : sam. 11 oct. 2008 13:48
par shugo
J'ai cherché les mots clés "hotkeyset", "simulation de touche" et " boucle ", ça se rapproche de ma demande, mais je n'ai pas réussi à comprendre clairement comment faire une Hotkeyset pour lancer le script, et une autre ( ou la même ) pour le réactiver ?
Le script étant :
Code : Tout sélectionner
Sleep ("0100") ;
While 1 ;
Send ("{ENTER}") ;
Sleep ("0100") ;
WEnd ;
Si j'ai bien compris le " While 1 ", ça veut dire que tant que le valeur est de 1 le script se répéteras, donc il faudrait faire une touche qui changerait la valeur "1" en "0" et vice versa, mais je n'ai pas trouvé comment faire.
Je suis désolé si avec les mots clés que vous m'avez donnés j'aurais pu trouver ce que je cherchais, mais je n'ai pas trouvé

Re: [R] Simuler une touche
Posté : sam. 11 oct. 2008 14:20
par jbnh
Bon
Wile 1
Wend
Signifie que le script fera en boucle ce qu'il est menionné a l'interieur:
Exemple si toutes les 6 secondes tu veux appyer sur enter:
Code : Tout sélectionner
While 1 ;
Sleep ("6000") ; le temps est en millisecondes
Send ("{ENTER}")
WEnd ;
Exemple de hotkeyset:
Code : Tout sélectionner
HotKeySet("a", "Msgboxx")
While 1
WEnd
Func Msgboxx()
Msgbox (0,"","lalala")
EndFunc
Re: [R] Simuler une touche
Posté : sam. 11 oct. 2008 14:23
par timmalos
Voici un exemple avec _IsPressed()
► Afficher le texte
Code : Tout sélectionner
#Include <Misc.au3> ; on inclut le fichier dans lequel se trouve la fonction _IsPressed()
$dll = DllOpen("user32.dll"); On declare la dll user32 qui est utilisée par la fonction _Ispressed()
While 1 ; Boucle infinie
If _Ispressed(75,$dll) then ; Si on detecte l'appui sur la touche F6 (voir l'aide de _Ispressed pour voir d'ou vient le 75), on actionne la suite
While _Ispressed(75,$dll)
Sleep(100)
WEnd
#comments-start
La boucle precedante permet d'attendre que l'utilisateur, une fois qu'il a appuyé sur F6 est nien relaché le boutton
Tant qu'il n'a pas relaché, on va attendre 0.1 sec
#comments-end
While Not _Ispressed(75,$dll); Tant que l'utilisateur ne rappui pas sur F6, on va faire entrer toutes les 0.5 sec
Send ("{ENTER}")
Sleep(500)
WEnd
EndIf
Sleep (500) ; On dort pour ne pas forcer sur le processeur
WEnd
Re: [R] Simuler une touche
Posté : sam. 11 oct. 2008 14:55
par shugo
Un grand merci à tous, je vais de ce pas essayer avec le IsPressed, c'est exactement ce que je recherchais

Merci beaucoup.
Edit : J'ai simplement pris le code de timmalos, mais je n'ai pas compris pourquoi ici :
Code : Tout sélectionner
If _Ispressed(75,$dll) then ;
While _Ispressed(75,$dll)
Sleep(100)
WEnd
il y a un " Sleep(100) ", je comprends pas l'utilité. En exécutant le script, il buggait un peu ( ça répondait pas forcément ) mais en enlevant cette ligne et en changeant quelques valeurs ça s'activait/se désactivait parfaitement.
Merci encore
Edit 2 : le script marche parfaitement sur le bloc note, firefox, msn etc ..
Malheureusement sur mon jeu, ça ne marche pas, il ne se passe rien.
L'application du jeu est hl2.exe, et le nom de la fenêtre : Counter-Strike Source
Vous sauriez d'où viens le problème ?
Re: [R] Simuler une touche
Posté : dim. 12 oct. 2008 00:26
par Tlem
@shugo, merci de respecter les règles du forum en utilisant les balises comme il se doit.
J'ai édité vos deux précédent messages, merci de faire le nécessaire pour les prochains.