Pause

Pausiert den aktuellen Thread des Skripts.

Pause NeuerZustand

Parameter

NeuerZustand

Typ: Integer

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

1 oder True: Markiert den Thread unterhalb des aktuellen Threads als pausiert, so dass der Thread, wenn er wieder aufgenommen wird, die laufenden Funktion (falls vorhanden) beendet und dann in einen pausierten Zustand übergeht. 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 NeuerZustand weggelassen wurde, andernfalls den darunter liegenden Thread). Als Nebeneffekt werden alle unterbrochenen Threads darunter inaktiv.

Wann immer ein Thread pausiert wird, wird die Ausführung von Timern verhindert. Allerdings können explizit gestartete Threads wie Hotkeys und Menüpunkte weiterhin gestartet werden; aber wenn ihre Threads zum Ende kommen, wird der darunter liegende Thread weiterhin pausiert sein. 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"