Page 1 sur 1
[R] _IsPressed() attente de relachement
Posté : sam. 18 juil. 2009 17:56
par L4crymal
Bonjour, avec ce script:
Code : Tout sélectionner
while 1
If _IsPressed(58) Then
filewrite("coucou.txt","1")
EndIf
wend
j'aimerais que il ne compte que la lettre que si le bouton est relâcher car si on tape normalement sur la touche correspondante, il ce peut que en 1 seul pression cela ajoute plusieurs "1", est-il possible de utiliser la MÊME fonction mais qu'elle attende le relâchement de la pression? et comment?
Merci d'avance
Re: [..] _IsPressed() attente de relachement
Posté : sam. 18 juil. 2009 18:13
par jumby
Ceci répond à vos attentes :
Code : Tout sélectionner
#include <Misc.au3>
$dll = DllOpen("user32.dll")
While 1
Sleep ( 50 )
If _IsPressed("58", $dll) Then ; Si la touche est appuyée alors
While 1 ; Début de la boucle d'attente de fin d'appui de touche
If _IsPressed("58", $dll) = 0 Then ; Si la touche n'est plus appuyée alors
filewrite("coucou.txt","1") ; On écrit 1 dans le fichier coucou
ExitLoop ; On sort de la boucle d'attente de fin d'appui de touche
EndIf
WEnd
EndIf
WEnd
DllClose($dll)
Re: [..] _IsPressed() attente de relachement
Posté : sam. 18 juil. 2009 20:13
par L4crymal
Malheureusement ce n'est pas ce que je cherche, je cherche à ce que la fonction attendre le relâchement de la touche

ou l'équivalent car encore dans ce cas si on reste appuyer sur la touche concerné cela écriera plein de "1"
Re: [..] _IsPressed() attente de relachement
Posté : sam. 18 juil. 2009 20:19
par jumby
Avez-vous testé ce que j'ai posté plus haut ?
Il y aura qu'un seul et unique 1 dans le fichier 'coucou.txt' même si vous maintenez la touche appuyée.
Regardez le code plus haut que j'ai commenté, cela va peut-être vous aider.
Re: [..] _IsPressed() attente de relachement
Posté : sam. 18 juil. 2009 20:30
par L4crymal
AAAAAAAH d'accord merci beaucoup beaucoup beaucoup
