2010-05-09 4 views
5

Я использую Ruby/WATIR/AutoIt для автоматизации задачи с помощью планировщика заданий, который работает нормально, пока я вошел в систему, но вскоре, когда моя учетная запись заблокирована или я выхожу из системы, сценарий перестает работать.Могут ли сценарии 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") 

ответ

5

AutoIt скрипты, которые посылают нажатия клавиш, будут работать только в том случае, если кто-то вошел в систему, а рабочий стол разблокирован.

Для дальнейшего уточнения любая программа, которая посылает нажатия клавиш, будет работать только в том случае, если кто-то вошел в систему и рабочий стол разблокирован.

0

Когда не вошел в систему, Windows делает другое окно активным и, следовательно, вы не можете выполнять какую-либо операцию, связанную с окном. Но команда управления может по-прежнему работать.

Related.