SetControlDelay

Bestimmt die Verzögerung, die nach jedem steuerelement­modifizierenden Befehl erfolgen soll.

SetControlDelay, Verzögerung

Parameter

Verzögerung

Zeit in Millisekunden (kann ein Ausdruck sein). Verwenden Sie -1, um die Verzögerung vollständig zu deaktivieren, oder 0, um die kleinstmögliche Verzögerung zu veranlassen. Wenn dieser Parameter nicht gesetzt ist, wird standardmäßig eine Verzögerung von 20 verwendet.

Bemerkungen

Nach jedem Control-Befehl, der ein Steuerelement ändert, namentlich Control, ControlMove, ControlClick, ControlFocus und ControlSetText (ControlSend verwendet SetKeyDelay), erfolgt automatisch eine kurze Verzögerung (Sleep). Diese Verzögerung ist notwendig, um die Zuverlässigkeit von Skripten zu verbessern, weil einige Steuerelemente eine "Ruhephase" benötigen, nachdem sie von einem dieser Befehle geändert wurden. Die Ruhephase ermöglicht es dem Steuerelement, sich selbst zu aktualisieren, und auf den nächsten Befehl zu reagieren, den das Skript möglicherweise versucht, an das Steuerelement zu senden.

Auch wenn eine Verzögerung von -1 (überhaupt keine Verzögerung) zulässig ist, wird empfohlen, mindestens 0 zu verwenden, um ein reibungsloses Ausführen des Skripts auch unter hoher CPU-Auslastung zu ermöglichen.

Eine Verzögerung von 0 führt intern Sleep(0) aus. Dies bewirkt, dass die restliche Zeitscheibe des Skripts an jeden anderen Prozess, der sie benötigen könnte, übergeben wird. Wenn sie von keinem Prozess benötigt wird, erzeugt Sleep(0) überhaupt kein Sleep.

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

Die interne Variable A_ControlDelay enthält die aktuelle Einstellung.

Jeder neu gestartete Thread (z. B. ein Hotkey, ein benutzerdefinierter Menüpunkt oder eine zeitgesteuerte Subroutine) verwendet vorerst die Standardeinstellung des Befehls. Um diese zu ändern, muss der Befehl im automatischen Ausführungsbereich (ganz oben im Skript) angegeben werden.

Control, ControlMove, ControlClick, ControlFocus, ControlSetText, SetWinDelay, SetKeyDelay, SetMouseDelay, SetBatchLines

Beispiele

Veranlasst nach jedem steuerelement­modifizierenden Befehl die kleinstmögliche Verzögerung.

SetControlDelay, 0