自动启动需要用户名和密码的 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 版本。它非常适合在无需用户干预的情况下启动程序或启动脚本。您可以配置任务以根据不同的“触发器”或“事件”(例如一天中的时间或重新启动后)启动。它可以在未登录的情况下执行此操作。这是一个教程这将向您展示如何设置任务以在系统重启后启动程序。您可能需要更改一些参数,但它很容易使用。

相关内容