2015-01-09 16 views
0

我是vb腳本的新手。我需要安排一個可以運行vbs文件的windows任務。 腳本從其快捷方式打開應用程序,提供用戶名和密碼並執行登錄。 換句話說,我需要自動執行重啓過程。 手動打開腳本時手動打開,但調度程序不能運行它。 我認爲問題在於那些UI元素(用於登錄)。 請建議如何通過它。 謝謝!如何使用UI元素計劃.vbs腳本?

+0

你用schtasks或windows gui創建任務嗎?如果在gui中您選擇了「僅在用戶登錄時運行」? – Syberdoor

+0

我用windows gui。它調用一個批處理,然後調用vbs文件。現在通過這種方式解決了調度問題。但是當任務運行時,應用程序窗口不會出現在前面。所以我通過sendKeys發送的ui輸入值沒有進入,登錄失敗。儘管我已經使用了appActivate方法,但窗口仍然沒有出現。你能建議如何解決它。提前致謝! –

+0

但是您在gui中選擇「僅在用戶登錄時運行」而不是「運行用戶是否登錄」?應用程序窗口是完全不可見的還是最小化的? – Syberdoor

回答

0

如果出於某種原因,AppActivate本身不會自動恢復窗口。

你可以嘗試找到它最小化的原因(也許它與調用vbs的批處理調用應用程序有關,我不能說),或者你可以在vbscript中嘗試一些小技巧,如下所示:

的使用AppActivate後做:

oShell.SendKeys "% r" 

這相當於Alt鍵的 + 空格鍵[R所以它打開Windows對話框的最大化,最小化,還原選項和選擇「恢復」。

請注意,這可能只有r英文版的windows。如果您使用其他語言,請按Alt + SpaceBar手動打開該菜單,然後查看系統上的實際熱鍵(它將在對話框中加下劃線)。之後用腳本中的任何熱鍵替換腳本中的r。

+0

謝謝,如果我將所有打開的應用程序最小化,然後激活所需的應用程序,它將起作用。當它現在失敗的唯一情況是當我沒有連接到桌面(這是一個遠程桌面)。如果我從系統斷開連接,腳本再次失敗,因爲應用程序失去焦點。 –