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 Befehl, der ein Steuerelement ändert, erfolgt automatisch eine kurze Verzögerung (Pause) - das sind Befehle wie Control, ControlMove, ControlClick, ControlFocus und ControlSetText (ControlSend verwendet SetKeyDelay). Diese Verzögerung ist notwendig, um die Zuverlässigkeit der Skripte zu verbessern, weil einige Steuerelemente eine Ruhephase benötigen, nachdem sie von einem dieser Befehle geändert wurden. Durch so eine Ruhephase kann das Steuerelement sich selbst aktualisieren und auf den nächsten Befehl antworten, den das Skript an dieses Steuerelement senden will.

Zwar ist eine Verzögerung von -1 erlaubt (überhaupt keine Verzögerung), allerdings wird empfohlen, mindestens 0 zu verwenden, um ein reibungsloses Ausführen des Skripts auch unter starker CPU-Belastung zu ermöglichen.

Eine Verzögerung von 0 führt intern ein Sleep(0) aus - diese Funktion übergibt den Restwert des Skript-Zeitintervalls an andere Prozesse, die diesen Wert benötigen. Wenn es solche Prozesse nicht gibt, wird Sleep(0) überhaupt keine Verzögerung durchführen.

Wenn die CPU langsam oder ausgelastet ist, oder die Fensteranimation aktiviert ist, könnten 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 zu Beginn die Standardeinstellung des Befehls. Um diese zu ändern, muss der Befehl im automatischen Ausführungsbereich (ganz oben im Skript) angegeben werden.

Siehe auch

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

Beispiele

#1

SetControlDelay, 0