Pause

Pausiert den aktuellen Thread des Skripts.

Pause , OnOffToggle, AufUnterenThreadAnwenden

Parameter

OnOffToggle

Wenn leer oder weggelassen, wird standardmäßig Toggle verwendet. Andernfalls geben Sie eines der folgenden Wörter an:

On: Pausiert den aktuellen Thread.

Off: Wenn der Thread unter dem aktuellen Thread pausiert ist, wird er bei Wiederaufnahme im entpausierten Zustand sein. Andernfalls hat der Befehl keinen Effekt.

Toggle: Pausiert den aktuellen Thread, es sei denn, der Thread darunter ist pausiert, dann wird der darunter liegende Thread entpausiert.

[v1.1.30+]: Anstelle von On, Off und Toggle können auch die Dezimalwerte 1, 0 und -1 verwendet werden.

AufUnterenThreadAnwenden

Dieser Parameter wird bei Pause Off ignoriert, weil es die Operation immer auf den darunter liegenden Thread anwendet. Bei den anderen wird der Parameter ignoriert, es sei denn, Pause ist eingeschaltet (einschließlich via Toggle).

Wenn leer oder weggelassen, wird standardmäßig 0 verwendet. Andernfalls geben Sie eine der folgenden Zahlen an:

0: Der Befehl pausiert den aktuellen Thread, also den Thread, der den Pause-Befehl ausgeführt hat.

1: Der Befehl markiert den Thread unterhalb des aktuellen Threads als pausiert, so dass der Thread, wenn er wieder aufgenommen wird, den laufenden Befehl (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).

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 aktuelle Thread eingefroren. 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 rotes H-Symbol (oder in ein rotes S-Symbol, 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 eingefroren wird, was durch Angabe von 1 im Einfrieren-Parameter des Menu-Icon-Unterbefehls erreicht wird. Zum Beispiel:

Menu, Tray, Icon, C:\Mein Symbol.ico, , 1

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, ExitApp, Threads, SetTimer

Beispiele

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

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

Sendet einen Pause-Befehl an ein anderes Skript.

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