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 kleinst mögliche Verzögerung zu veranlassen. Fehlt dieser Parameter, gilt standardmäßig eine Verzögerung von 20.

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) beginnt mit der Standardeinstellung des Befehls. Diese Standardeinstellung kann geändert werden, wenn man diesen Befehl bereits im automatischen Ausführungsbereich (am Anfang des Skripts) definiert.

Siehe auch

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

Beispiel

SetControlDelay, 0