4

Ruby / WATIR / AutoItを使用して、ログインしている限り正常に実行されるタスクスケジューラを介してタスクを自動化しますが、アカウントがロックされるかログアウトすると、スクリプトが機能しなくなります。

再度ログインすると、AutoItがファイルのダウンロードダイアログを処理することになっています([保存]をクリックし、ファイル名を入力して、もう一度[保存]をクリックします)。

ログインしている間は次のコードが機能します。ログインしていないときでもAutoItは機能するはずですが、これを実現する他の方法はありますか?

prompt_message = "Do you want to save this file, or find a program online to open it?"
window_title = "File Download"
save_dialog = WIN32OLE.new("AutoItX3.Control")

sleep 1

save_dialog_obtained = save_dialog.WinWaitActive(window_title,prompt_message, 25)
save_dialog.ControlFocus(window_title, prompt_message, "&Save")

sleep 1

save_dialog.Send("S")
save_dialog.ControlClick(window_title, prompt_message, "&Save")
save_dialog.WinSetTitle(window_title, prompt_message, "This is ForTesting" )
saveas_dialog_obtained = save_dialog.WinWait("Save As", "Save&in", 5)

sleep 1

path = fileName
puts "   Edit the file path"
save_dialog.ControlSend("Save As", "", "Edit1",path)
sleep 4
puts "   Save the file"
save_dialog.ControlClick("Save As", "Save &in", "&Save")
save_fileAlreadyExists = save_dialog.Send("Y")
4

2 に答える 2

5

キーストロークを送信する AutoIt スクリプトは、誰かがログインしていて、デスクトップのロックが解除されている場合にのみ機能します。

さらに明確にするために、キーストロークを送信するプログラムは、誰かがログインしていて、デスクトップのロックが解除されている場合にのみ機能します。

于 2010-05-09T13:31:09.397 に答える
0

Windows にログインしていない場合、別のウィンドウがアクティブになるため、ウィンドウ関連の操作を行うことはできません。ただし、制御コマンドは引き続き機能する場合があります。

関連

于 2013-06-18T19:32:45.637 に答える