[R] Pause de script avec hotkey marche pas

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
lian
Niveau 1
Niveau 1
Messages : 3
Enregistré le : mar. 29 avr. 2014 17:59
Status : Hors ligne

[R] Pause de script avec hotkey marche pas

#1

Message par lian »

Bonjour, j'ai utilisé l'exemple donné dans l'aide pour faire un petit script qui permet d'utiliser des hotkey pour simuler des clics de souris. Ça marche très bien... sauf la fonction pause qui est pourtant copié/collé de l'aide. J'ai bien le pop up de message d'information qui s'affiche mais le script continue à fonctionner. Mon code.

Code : Tout sélectionner

#Include <Misc.au3>
#include <MsgBoxConstants.au3>

$dll = DllOpen("user32.dll")

Global $fPaused = False

HotKeySet("{INS}", "TogglePause")
HotKeySet("{LEFT}", "MouseleftClick")
HotKeySet("{RIGHT}", "MouserightClick")
HotKeySet("{UP}", "MousemiddleClick")
HotKeySet("{DOWN}", "MousemiddleClick")
HotKeySet("+!d", "Terminate"); Shift-Alt-d

While 1
    Sleep(100)
WEnd

Func MouseleftClick()
    MouseClick("")
EndFunc

Func MouserightClick()
    MouseClick("right")
EndFunc

Func MousemiddleClick()
    MouseClick("middle")
EndFunc

Func TogglePause()
    $fPaused = Not $fPaused
    While $fPaused
        Sleep(100)
        ToolTip('Script is "Paused"', 0, 0)
    WEnd
    ToolTip("")
EndFunc   ;==>TogglePause

Func Terminate()
    Exit
EndFunc   ;==>Terminate
Modifié en dernier par lian le mer. 30 avr. 2014 11:13, modifié 1 fois.
lian
Niveau 1
Niveau 1
Messages : 3
Enregistré le : mar. 29 avr. 2014 17:59
Status : Hors ligne

Re: [..] Pause de script avec hotkey marche pas

#2

Message par lian »

Bon, après quelques recherches, je crois que j'ai compris que ça ne marche pas parce que dans l'exemple les fonctions sont indépendantes et qu'il faut que j'imbrique les choses. Plus qu'à comprendre comment.
lian
Niveau 1
Niveau 1
Messages : 3
Enregistré le : mar. 29 avr. 2014 17:59
Status : Hors ligne

Re: [..] Pause de script avec hotkey marche pas

#3

Message par lian »

Bon, ça y est, j'ai compris comment ça marchait:

Il faut tester si c'est en pause dans chacune des fonctions gérant les hotkeys - évidemment...
Ce qui donne par exemple:

Code : Tout sélectionner

Func MouseleftClick()
    If $fPaused = False Then
    MouseClick("")
    EndIf
EndFunc
Répondre