Pause

Pausiert den aktuellen Thread des Skripts.

Pause , OnOffToggle, AufUnterenThreadAnwenden

Parameter

OnOffToggle

Wenn dieser Parameter weggelassen wird oder leer ist, wird standardmäßig Toggle verwendet. Ansonsten kann eines der folgenden Wörter angegeben werden:

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

On: Pausiert den aktuellen Thread.

Off: Wenn der Thread unter dem aktuellen Thread pausiert ist, wird er bei Wiederaufnahme im nicht-pausierten Zustand sein. Ansonsten hat der Befehl keine Wirkung.

[v1.1.30+]: Es ist möglich, die dezimalen Werte 1, 0 und -1 anstelle von On, Off bzw. Toggle zu verwenden.

AufUnterenThreadAnwenden

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

Geben Sie eine der folgenden Nummern an:

0 (oder weggelassen): Der Befehl pausiert den aktuellen Thread; also der Thread, der den Pause-Befehl ausgeführt hat.

1: Der Befehl markiert den Thread unterhalb des aktuellen Threads als pausiert, so dass er bei Wiederaufnahme den zurzeit laufenden Befehl (falls vorhanden) fertig ausführt und dann in einem pausierten Zustand verfällt. Gibt es keinen Thread unterhalb des aktuellen Threads, wird das Skript selbst pausiert, was Timer stoppen würde (dieser Effekt ist das gleiche wie, als hätte man den Menüpunkt "Pause Script" verwendet, während das Skript keine Threads hat).

Hinweis: A_IsPaused enthält den Pausezustand des darunterliegenden Threads.

Bemerkungen

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

Im Gegensatz zu Suspend - das Hotkeys und Hotstrings deaktiviert - wird Pause den aktuellen Thread einfrieren. Als Nebeneffekt werden alle unterbrochenen Threads darunter inaktiv sein.

Wenn ein Thread pausiert wird, werden keine Timer ausgeführt. Dagegen können explizit gestartete Threads wie Hotkeys und Menüpunkte weiterhin gestartet werden; aber wenn ihre Threads zum Ende kommen, wird der darunterliegende Thread weiterhin pausiert sein. Mit anderen Worten: Jeder Thread kann unabhängig von den anderen pausiert werden.

Die Farbe des Tray-Symbols wechselt von Grün auf Rot, wenn der aktuelle Thread des Skripts in einem pausierten Zustand versetzt wird. Dieser Farbwechsel kann durch Einfrieren des Symbols verhindert werden - dazu muss im letzten Parameter des Menu-Befehls eine 1 angegeben werden. Zum Beispiel:

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

Mit Thread, NoTimers können Timer deaktiviert werden, ohne das Skript pausieren zu müssen.

Ein Skript wird immer angehalten (aber offiziell nicht pausiert), wenn man ein Menü beliebiger Art anzeigt (Tray-Menü, Menüleiste, GUI-Kontextmenü und so weiter).

Suspend, Menu, ExitApp, Threads, SetTimer

Beispiele

Drücken Sie einen Hotkey, um das Skript zu pausieren. Drücken Sie ihn erneut, um die Pause wieder aufzuheben.

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