「autoit3.chm」ファイルを実行しています。実行時に下矢印を送信したいのですが、うまくいきません:
$file = FileGetShortName("C:\Users\PHSD100-SIC\Desktop\AutoIt3.chm")
Run(@ComSpec & " /c start " & $file)
WinWaitActive("AutoIT Help")
Send("{DOWN}")
「autoit3.chm」ファイルを実行しています。実行時に下矢印を送信したいのですが、うまくいきません:
$file = FileGetShortName("C:\Users\PHSD100-SIC\Desktop\AutoIt3.chm")
Run(@ComSpec & " /c start " & $file)
WinWaitActive("AutoIT Help")
Send("{DOWN}")
うーん、間違ったウィンドウ タイトルを待っているだけです... 試してみるWinWaitActive("AutoIt Help")
とうまくいきます... " T " は " t "でなければなりません...
これを見つけるには、スクリプトの出力を確認するだけで済みます。 CHM ファイルを開いた後、スクリプトがまだ実行中であることがわかります。しかし、あなたはそれが実行されてから終了することを期待していたでしょうSend(...)
. したがって、スクリプトは、予想されるウィンドウが表示されるのをまだ待っている必要があります。これにより、ウィンドウのタイトルを再確認することになります。おそらく、 AutoIt Window Info Toolを使用してウィンドウのタイトルを直接コピーします。これは間違いを示しています。修正してください。ヴィオラ、幸せになってね =)
さらに、最初にコマンド プロンプトを実行する必要はありませんShellExecute($file)
。代わりに直接呼び出すことができます。
AutoIt ウィンドウ情報ツールを使用すると、これらの問題に役立ちます。また、 ConsoleWrite(...)
s を使用してデバッグすることもお勧めします。
たとえば、単純なものは以前のようになります。ただし、おそらくタイムアウトまたは変数を使用し、成功/失敗のリターンを使用する必要があります。
WinWaitActive("Window")
ConsoleWrite("Success")
Send("{DOWN}")
ConsoleWrite("Success")
下キー入力には次の構文を使用します
Send("{DOWN 2}")
UpキーのEnterについても同様です
Send("{UP 2}")