Pause

Pausiert den aktuellen Thread des Skripts oder setzt den Pausezustand des darunter liegenden Threads.

Pause ThreadDarunterZustand

Parameter

ThreadDarunterZustand

Typ: Integer

Wenn weggelassen, wird der aktuelle Thread pausiert. Andernfalls geben Sie einen der folgenden Werte an:

1 oder True: Markiert den darunter liegenden Thread als pausiert. Der aktuelle Thread wird nicht pausiert und läuft weiter. Wenn der aktuelle Thread endet, wird der darunter liegende Thread jede unterbrochene Funktion, die der darunter liegende Thread ausführen sollte, fortsetzen. Sobald der darunter liegende Thread die Funktion (falls vorhanden) fertig ausgeführt hat, geht er in einen Pausezustand über. Wenn es keinen Thread unterhalb des aktuellen Threads gibt, wird das Skript selbst pausiert, was die Ausführung von Timern verhindert (dieser Effekt entspricht der Auswahl des Menüpunkts "Pause Script", während das Skript keine Threads hat).

0 oder False: Entpausiert den darunter liegenden Thread.

-1: Schaltet den Pausezustand des darunter liegenden Threads um.

Bemerkungen

Standardmäßig kann das Skript auch über das Tray-Symbol oder das Hauptfenster pausiert werden.

Im Gegensatz zu Suspend, das Hotkeys und Hotstrings deaktiviert, wird beim Einschalten von Pause der Thread eingefroren (den aktuellen Thread, wenn ThreadDarunterZustand weggelassen wurde, andernfalls den darunter liegenden Thread). Als Nebeneffekt werden alle unterbrochenen Threads darunter inaktiv, bis der aktuelle Thread entpausiert und fertig ausgeführt wird.

Wann immer ein Thread oder das Skript selbst pausiert wird, wird die Ausführung von Timern verhindert. Explizit gestartete Threads wie Hotkeys und Menüpunkte können hingegen noch gestartet werden, aber sobald ihre Threads enden, bleibt der Thread darunter pausiert. Mit anderen Worten, jeder Thread kann unabhängig von den anderen pausiert werden.

Das Tray-Symbol ändert sich in ein grünes Symbol mit einem Pausezeichen (oder in ein grünes Symbol mit transparentem Pausezeichen, wenn das Skript zusätzlich suspendiert ist), wenn der aktuelle Thread des Skripts in einem pausierten Zustand ist. Diese Symboländerung lässt sich vermeiden, indem das Symbol mit TraySetIcon(,, true) eingefroren wird.

Mit Thread NoTimers können Timer ohne Pausieren des Skripts deaktiviert werden.

Ein Skript wird immer angehalten (aber nicht offiziell pausiert), wenn ein Menü irgendeiner Art (Tray-Menü, Menüleiste, GUI-Kontextmenü usw.) angezeigt wird.

Die interne Variable A_IsPaused enthält 1, wenn der Thread direkt unterhalb des aktuellen Threads pausiert ist, andernfalls 0.

Suspend, Menu-Objekt, ExitApp, Threads, SetTimer

Beispiele

Verwenden Sie Pause, um das Skript anzuhalten, z.B. um Variablen zu inspizieren.

ListVars
Pause
ExitApp ; Diese Zeile wird erst ausgeführt, wenn der Benutzer das Skript entpausiert.

Drücken Sie einen Hotkey, um das Skript zu pausieren. Drücken Sie ihn erneut, um es zu entpausieren.

Pause::Pause -1  ; Die PAUSE/UNTBR-Taste.
#p::Pause -1  ; WIN+P

Sendet einen Pause-Befehl an ein anderes Skript.

DetectHiddenWindows True
WM_COMMAND := 0x0111
ID_FILE_PAUSE := 65403
PostMessage WM_COMMAND, ID_FILE_PAUSE,,, "C:\MeinSkript.ahk ahk_class AutoHotkey"