【发布时间】:2015-08-05 19:34:48
【问题描述】:
我正在使用 VBScript 将 SendKeys 发送到 Cisco 客户端,因为它会提示输入用户名和密码。但是,我无法集中命令提示符。
我在每个SendKeys 命令之前添加了AppActivate,但正常的计算机使用经常会在这些命令之间的时间里打断焦点。
如何确保命令提示符在发送密钥之前获得焦点?
Dim host, username, password, pathToClient
host = "host"
username = "username"
password = "password"
pathToClient = "C:\Program Files {(}x86{)}\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe"
Set ws = WScript.CreateObject("WScript.Shell")
ws.run("TASKKILL.exe /F /IM vpnui.exe"), 0, false
ws.run("cmd.exe"), 2, false
WScript.Sleep 300
ws.AppActivate("Command Prompt")
ws.SendKeys """" & pathToClient & """ connect " & host & "~"
WScript.Sleep 1000
ws.AppActivate("Command Prompt")
ws.SendKeys(username & "~")
WScript.Sleep 50
ws.AppActivate("Command Prompt")
ws.SendKeys(password & "~")
ws.run("TASKKILL.exe /F /IM cmd.exe"), 0, false
【问题讨论】:
标签: vbscript focus sendkeys wsh