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 ;)