SendInput
を使用するAutoHotkeyスクリプトを使用しているため、MouseClick
コマンドを処理するには速すぎます。私のスクリプトはMouseClickを送信して入力フィールドにフォーカスを当て、フィールドがフォーカスを合わせる前に入力を開始します。AutoHotkeyのSendInputコマンドの間に遅延を追加するにはどうすればよいですか?
SetKeyDelay
を使用してスクリプトを少し遅くしてみましたが、これはSendInput
では機能しません。
注:SetKeyDelayはSendInputによって守られていません。そのモードでのキーストロークの間に遅延はありません。これは、SendMode入力が有効な場合にSendにも当てはまります。
Documentation for SetKeyDelay
私の現在の回避策は、各入力後にスリープコマンドを使用することですが、これは理想的な未満です。
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
理想的には、毎回手動でsleepコマンドを使用することなく、各SendInputコマンド間に遅延を追加するためのより洗練されたソリューションが必要です。
スリープを繰り返し使用せずに、AutoHotkeyのSendInputコマンド間に遅延を追加するにはどうすればよいですか?
私の理解では、SendInputは、それが利用できるように、キーボードとマウスのイベントや遅延を調整しようとしないということですそのようなサポートを持たない高速のオペレーティングシステムコール。 –