SetWinDelay

Bestimmt die Verzögerung, die nach jedem fensterspezifischen Befehl wie WinActivate eintritt.

SetWinDelay, Verzögerung

Parameter

Verzögerung

Zeit in Millisekunden. Kann ein Ausdruck sein. Geben Sie -1 an, um die Verzögerung vollständig zu deaktivieren, oder 0, um die kleinstmögliche Verzögerung zu veranlassen.

Bemerkungen

Wenn SetWinDelay nicht verwendet wird, ist die Verzögerung standardmäßig 100.

Nach jedem fensterspezifischen Befehl außer WinActive(), IfWinActive, WinExist() und IfWinExist erfolgt automatisch eine kurze Verzögerung (Sleep). Diese Verzögerung ist notwendig, um die Zuverlässigkeit von Skripten zu verbessern, da ein Fenster manchmal eine Ruhephase benötigt, nachdem es erstellt, aktiviert, minimiert usw. wurde, so dass es die Chance hat, sich selbst zu aktualisieren und auf den nächsten Befehl zu reagieren, den das Skript möglicherweise versucht, an das Fenster zu senden.

Obwohl eine Verzögerung von -1 (überhaupt keine Verzögerung) zulässig ist, wird empfohlen, mindestens 0 zu verwenden, um eine reibungslose Skriptausführung auch bei hoher CPU-Auslastung zu ermöglichen.

Eine Verzögerung von 0 führt intern Sleep(0) aus, das die restliche Zeitscheibe des Skripts an jeden anderen Prozess weitergibt, der sie benötigen könnte. Wenn es keine gibt, erzeugt Sleep(0) überhaupt kein Sleep.

Wenn die CPU langsam oder ausgelastet ist oder wenn die Fensteranimation aktiviert ist, können höhere Verzögerungswerte erforderlich sein.

Die interne Variable A_WinDelay enthält die aktuelle Einstellung.

Jeder neue Thread (z.B. ein Hotkey, ein benutzerdefinierter Menüpunkt oder eine zeitgesteuerte Subroutine) verwendet zunächst die Standardeinstellung des Befehls. Diese Standardeinstellung kann geändert werden, indem der Befehl im automatischen Ausführungsbereich (ganz oben im Skript) verwendet wird.

SetControlDelay, SetKeyDelay, SetMouseDelay, SetBatchLines, SendMode

Beispiele

Veranlasst nach jedem fensterspezifischen Befehl eine Verzögerung von 10 ms.

SetWinDelay, 10