Maintenir touche enfoncé

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Anubisroner
Niveau 1
Niveau 1
Messages : 12
Enregistré le : mer. 10 mai 2017 04:32
Status : Hors ligne

Maintenir touche enfoncé

#1

Message par Anubisroner »

Salut tous le monde, je souhaiterais faire un script qui permet donc de maintenir une touche enfoncé, et quand on re appuie sur la touche, ça relâche.

J’appuie sur la touche NUMPAD2 de mon clavier, elle est donc considéré comme rester enfoncé, et quand je re appuie dessus, la touche NUMPAD2 n'est plus considérée comme enfoncé.

A quoi devrait ressembler le script svp?
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

Re: Maintenir touche enfoncé

#2

Message par GhostLine »

Dans le fichier d'aide :

Code : Tout sélectionner

; To hold a key down
Send("{a down}") ;Holds the A key down
Send("{a up}") ;Releases the A key
Anubisroner
Niveau 1
Niveau 1
Messages : 12
Enregistré le : mer. 10 mai 2017 04:32
Status : Hors ligne

Re: Maintenir touche enfoncé

#3

Message par Anubisroner »

J'ai bel et bien vu ceci dans l'aide, c'est donc ce que j'ai fait, mais quand je souhaites exécuter mon script, il ne se lance pas, je n'ai pas de message d'erreur, et il n'apparait pas en bas à droite dans la barre des tâches.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: Maintenir touche enfoncé

#4

Message par Tlem »

Sans voir votre script, difficile de vous aider plus.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

Re: Maintenir touche enfoncé

#5

Message par GhostLine »

Je te propose donc quelque chose de ce genre (quick and dirty) :

Code : Tout sélectionner

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

$etat = 1
While 1
	If _IsPressed(62, $hDLL) Or $etat = 0 Then ; Touche 2 du pavé numérique
		$etat = 0
		Sleep(100)
		Do
			Send("2") ; On envoit le chiffre 2
			If _IsPressed(62, $hDLL) Then
				Sleep(100)
				ExitLoop(1)
			EndIf
		Until 1= 2
		$etat = 1
	EndIf
WEnd
A tester dans un Notepad :)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Maintenir touche enfoncé

#6

Message par mikell »

Anubisroner a écrit : jeu. 11 mai 2017 04:38quand je souhaites exécuter mon script, il ne se lance pas, je n'ai pas de message d'erreur, et il n'apparait pas en bas à droite dans la barre des tâches.
ça sent fort la boucle While absente :wink:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Anubisroner
Niveau 1
Niveau 1
Messages : 12
Enregistré le : mer. 10 mai 2017 04:32
Status : Hors ligne

Re: Maintenir touche enfoncé

#7

Message par Anubisroner »

Merci pour vos réponses.

GhostLine merci pour le code mais malheureusement ça ne fonctionne pas, enfin pas super bien disons, il faut rester appuyer sur la touche environ 2 secondes puis relacher pour que le script prenne le relai, et il ne s'arrête pas toujours...

Sinon à quoi pourrait ressembler le code avec le fameux:
while 1

ainsi que

Send("{a down}") ;Holds the A key down
Send("{a up}") ;Releases the A key

?
Répondre