[R] script de simulation de touches clavier appuyées

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
ChMuX
Niveau 2
Niveau 2
Messages : 23
Enregistré le : mer. 23 janv. 2008 19:05
Status : Hors ligne

[R] script de simulation de touches clavier appuyées

#1

Message par ChMuX »

Bonjour à tous,

J'ai un petit souci et malgré mes nombreuses recherches sur le forum et le net, je n'arrive pas à m'en sortir...
Je souhaite simplement créer un fichier.exe qui, lorsque j'appuie sur la touche "p" de mon clavier, écrive "_" à la place. De plus, je souhaite que si je reste appuyé sur "p", alors "_" est lui aussi retourné en boucle.
Au passage, j'ai une autre question, est-il possible de gérer la "vitesse" de renvoie de la touche clavier "_" associé à la touche "p". C-a-d, par exemple, si je laisse appuyé la touche "p" 1s, est-il possible que la touche "_" soit renvoyé avec une vitesse telle que ce soit comme si j'avais appuyé sur "p" 10s (donc par exemple en 1s j'aurais pu écrire 5 "p" mais 50 "_" sont renvoyés)?

Voici mon code, qui ne fonctionne pas :mrgreen:

Code : Tout sélectionner

#include <Misc.au3>
Local $hDLL = DllOpen("user32.dll")

While 1 ;boucle infini
   If _IsPressed("p", $hDLL) Then ;si la touche "p" est appuyée alors
      While _IsPressed("p", $hDLL) ;tant qu'elle est appuyée faire
      Send ("{_}") ;simuler l'appui sur la touche "_"
      WEnd ;fin While
   EndIf ;fin If
WEnd ;fin While

Merci d'avance, toute aide sera la bienvenu :)
Modifié en dernier par ChMuX le mer. 05 juin 2013 19:50, modifié 1 fois.
Avatar du membre
julie
Niveau 5
Niveau 5
Messages : 128
Enregistré le : sam. 28 janv. 2012 17:28
Status : Hors ligne

Re: [..] script de simulation de touches clavier appuyées

#2

Message par julie »

tiens essaye plutot comme ceci ;)

Code : Tout sélectionner

#include <Misc.au3>
Local $hDLL = DllOpen("user32.dll")

While 1 ;boucle infini
   If _IsPressed("50", $hDLL) Then ;si la touche "p" est appuyée alors
      While _IsPressed("50", $hDLL) ;tant qu'elle est appuyée faire
      Send ("{_}") ;simuler l'appui sur la touche "_"
      WEnd ;fin While
   EndIf ;fin If
WEnd ;fin While
 
ChMuX
Niveau 2
Niveau 2
Messages : 23
Enregistré le : mer. 23 janv. 2008 19:05
Status : Hors ligne

Re: [..] script de simulation de touches clavier appuyées

#3

Message par ChMuX »

Ha ouais quand même, mais c'est que ça marche du feu de dieu tout ça!! :D
Merci beaucoup Julie pour ton aide! :D

Je ne tag pas encore en résolu, j'attends un petit peu pour voir si quelqu'un à la réponse à ma question concernant la "vitesse" de frappe :oops:
Avatar du membre
julie
Niveau 5
Niveau 5
Messages : 128
Enregistré le : sam. 28 janv. 2012 17:28
Status : Hors ligne

Re: [..] script de simulation de touches clavier appuyées

#4

Message par julie »

lorsque j'appuie sur la touche "p" de mon clavier, écrive "_" à la place

Donc tu veux que p soit supprimer pour ne voir que le "_" ? si c'est le cas il y a moyen de faire comme ca

Code : Tout sélectionner

#include <Misc.au3>
Local $hDLL = DllOpen("user32.dll")
Global $caractere = "_"
While 1 ;boucle infini
      If _IsPressed("50", $hDLL) Then Send("{BACKSPACE}"&$caractere&"")

WEnd ;fin While
 
pour la gestion du temps a part en definissant un compte a rebours je ne vois pas comment faire :S
ChMuX
Niveau 2
Niveau 2
Messages : 23
Enregistré le : mer. 23 janv. 2008 19:05
Status : Hors ligne

Re: [R] script de simulation de touches clavier appuyées

#5

Message par ChMuX »

D'accord merci pour ton aide, je tag en résolu (j'irais sonder le web de plus belle pour cette histoire de vitesse ^^)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] script de simulation de touches clavier appuyées

#6

Message par mikell »

Avec un peu de retard...

Code : Tout sélectionner

#include <Misc.au3>
Local $hDLL = DllOpen("user32.dll")
Hotkeyset("p", "_send")

While 1
WEnd 

Func _send()
Opt("SendKeyDelay", 0)    ; <== régler la vitesse ici (0 = maxi)
   While _IsPressed("50", $hDLL)
      Send ("_") 
   WEnd
Opt("SendKeyDelay", 50)
EndFunc
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre