2010-05-09 5 views
5

Ich benutze Ruby/WATIR/AutoIt, um eine Aufgabe über die Aufgabenplanung zu automatisieren, die gut läuft, solange ich angemeldet bin, aber sobald mein Konto gesperrt ist oder ich abmelde, funktioniert das Skript nicht mehr.Können AutoIt-Skripts als geplante Aufgabe ausgeführt werden, während sie nicht angemeldet sind?

Wenn ich mich wieder anmelde, ist es, wo AutoIt einen Dateidownload-Dialog verarbeiten soll (indem ich auf Speichern klicke, dann den Dateinamen eingib und erneut auf Speichern klicke).

Der folgende Code funktioniert, während ich eingeloggt bin. Soll AutoIt funktionieren, wenn ich nicht eingeloggt bin, und gibt es eine andere Möglichkeit, dies zu erreichen?

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") 

Antwort

5

AutoIt-Skripte, die Tastenanschläge senden, funktionieren nur, wenn jemand eingeloggt und der Desktop entsperrt ist.

Zur weiteren Erläuterung funktioniert jedes Programm, das Tastenanschläge sendet, nur, wenn jemand eingeloggt und der Desktop entsperrt ist.

0

Wenn nicht angemeldet Windows macht ein anderes Fenster aktiv und daher können Sie keine fensterbezogene Operation ausführen. Aber der Steuerbefehl funktioniert möglicherweise noch.

Related.

Verwandte Themen