Page 1 sur 1

Maintenir touche enfoncé

Posté : mer. 10 mai 2017 04:37
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?

Re: Maintenir touche enfoncé

Posté : mer. 10 mai 2017 15:24
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

Re: Maintenir touche enfoncé

Posté : jeu. 11 mai 2017 04:38
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.

Re: Maintenir touche enfoncé

Posté : jeu. 11 mai 2017 10:45
par Tlem
Sans voir votre script, difficile de vous aider plus.

Re: Maintenir touche enfoncé

Posté : jeu. 11 mai 2017 11:08
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 :)

Re: Maintenir touche enfoncé

Posté : jeu. 11 mai 2017 19:33
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:

Re: Maintenir touche enfoncé

Posté : sam. 13 mai 2017 22:59
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

?