自動啟動需要使用者名稱和密碼的 Windows 應用程式

自動啟動需要使用者名稱和密碼的 Windows 應用程式

我們公司有一個遺留應用程式(帶有 GUI)。由於需要手動輸入使用者名稱和密碼才能啟動,因此我們無法在重新啟動後自動啟動它。我們需要一個程式來為我們做到這一點。有這樣的程式嗎?我們使用的是Windows Server 2008。

答案1

您可以使用 VBScript 來完成此操作。我知道有一個SendKeys命令可以將幾乎任何類型的鍵盤輸入發送到透過腳本啟動的程式。

這是使用它的一種方法:

set WshShell = WScript.CreateObject("WScript.Shell") 

WshShell.run "runas /user:domain\user %comspec%" 'Open command prompt  
WScript.Sleep 1000 
WshShell.SendKeys "password" 'send password   
WshShell.SendKeys "{ENTER}"    
WScript.Sleep 1000 

'Open IE 
WshShell.SendKeys Chr(34) + "C:\PROGRAM FILES\INTERNET EXPLORER\IEXPLORE.EXE"_
  + Chr(34) 
WshShell.SendKeys "{ENTER}" 

WshShell.SendKeys "exit"  'Close command prompt 
WshShell.SendKeys "{ENTER}" 
WScript.Sleep 1000 

WshShell.SendKeys "{TAB}" 
WshShell.SendKeys "http://www.microsoft.com" 'Send internet page to open to IE 
WshShell.SendKeys "{ENTER}" 

這是另一種使用方法沒有WshShell

Dim ProcID As Integer
' Start the Calculator application, and store the process id.
ProcID = Shell("CALC.EXE", AppWinStyle.NormalFocus)
' Activate the Calculator application.
AppActivate(ProcID)
' Send the keystrokes to the Calculator application.
My.Computer.Keyboard.SendKeys("22", True)
My.Computer.Keyboard.SendKeys("*", True)
My.Computer.Keyboard.SendKeys("44", True)
My.Computer.Keyboard.SendKeys("=", True)
' The result is 22 * 44 = 968.

答案2

我建議根據您的 Windows 版本使用 Windows「任務規劃程式」或「排程任務」。它非常適合在無需用戶幹預的情況下啟動程式或啟動腳本。您可以將任務配置為根據不同的「觸發器」或「事件」(例如一天中的時間或重新啟動後)啟動。它可以在不登入的情況下執行此操作。這裡有一個教學這將向您展示如何設定任務以在系統重新啟動後啟動程式。您可能需要更改一些參數,但它很容易使用。

相關內容