Ich habe ein AutoHotkey-Skript mit SendInput
, das sendet MouseClick
Befehle zu schnell für mein Programm zu behandeln. Mein Skript sendet ein MouseClick, um ein Eingabefeld zu fokussieren, und beginnt dann mit der Eingabe, bevor das Feld die Fokussierung beendet.Wie füge ich eine Verzögerung zwischen SendInput-Befehlen in AutoHotkey hinzu?
Ich habe versucht mit SetKeyDelay
mein Skript etwas langsamer laufen zu lassen, aber das funktioniert nicht mit SendInput
.
Hinweis: SetKeyDelay wird von Send nicht befolgt; Es gibt keine Verzögerung zwischen den Tastenanschlägen in diesem Modus. Dasselbe gilt für Send, wenn der SendMode-Eingang aktiviert ist.
Documentation for SetKeyDelay
Meine aktuelle Problemumgehung ist nach jeder Eingabe Schlaf Befehle zu verwenden, aber das ist weniger als ideal.
SendMode Input
F1::
MouseClick, left, 61, 50 ; select title field
sleep 100 ; artificial delay to prevent misfocused inputs
SendInput %user_input%{Enter} ; enter job title
sleep 100 ; artificial delay
MouseClick, left, 67, 408 ; select job
sleep 100 ; artificial delay
Return
Idealerweise möchte ich eine elegantere Lösung für eine Verzögerung zwischen jedem Befehl Send Zugabe ohne manuell jedesmal, wenn ein Schlaf-Befehl.
Wie kann ich eine Verzögerung zwischen SendInput-Befehlen in AutoHotkey hinzufügen, ohne wiederholt den Ruhezustand zu verwenden?
Mein Verständnis ist, dass nicht Send Tastatur und Mausereignisse oder Verzögerungen nicht versuchen, zu koordinieren, damit sie nutzen können, schnelle Betriebssystemaufrufe, die keine solche Unterstützung haben. –