2010-05-09 8 views
5

Bir görevi otomatikleştirmek için Ruby/WATIR/AutoIt kullanıyorum. Görev Zamanlayıcı ile oturum açtığım sürece iyi çalışıyor, ancak hesabım kilitlendiğinde veya kapatıldığında komut dosyası çalışmayı durdurur.Can AutoIt komut dosyaları, giriş yapmamışken zamanlanmış bir görev olarak çalıştırılabilir mi?

Yeniden oturum açtığımda AutoIt'in bir dosya indirme iletişim kuralıyla uğraşması gerekiyor (kaydet'i tıklatarak dosya adını girip tekrar kaydet'i tıklatarak).

Aşağıdaki kod, oturum açarken çalışır. Oturum açılmadığım zamanlarda AutoIt çalışması gerekiyor mu ve bunu başarmanın başka bir yolu var mı?

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

cevap

5

Tuş vuruşlarını gönderen AutoIt komut dosyaları yalnızca bir kullanıcı oturum açtığında ve masaüstünün kilidi açılmışsa çalışır.

Daha fazla açıklama için, tuş vuruşlarını gönderen herhangi bir program sadece bir kullanıcı oturum açtığında ve masaüstünün kilidi açılmışsa çalışır.

0

Oturum açılmadığında, Windows farklı bir pencere etkin hale getirir ve dolayısıyla pencereyle ilgili işlemleri yapamazsınız. Ancak kontrol komutu hala çalışmaya devam edebilir.

Related.

İlgili konular