【问题标题】:Ensure window focus before sending keys在发送密钥之前确保窗口焦点
【发布时间】: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


    【解决方案1】:

    使用 VBScript 你不能。 AppActivate 是 VBScript 中唯一可用于将焦点放在特定应用程序上的方法,它不能确保焦点停留在那里。这就是为什么 SendKeys 无论如何都不应该用于自动化的确切原因。请改用AutoIt 之类的方法。

    或者可能设置Auto Connect on Start 是一个选项,因为您显然正在使用 AnyConnect?

    Auto Connect on Start - AnyConnect 在启动时会自动与 AnyConnect 配置文件指定的安全网关或客户端连接的最后一个网关建立 VPN 连接。

    【讨论】:

    • 客户端在使用这些设置启动时仍然需要密码。如果您使用 AutoHotKey(最好)或 AutoIt 让我朝着正确的方向前进,我会接受您的回答。
    【解决方案2】:

    我使用AutoHotKey 来解决我的问题。这是我的代码:

    host := "my.host.domain"
    username := "myUsername"
    password := "myPassword"
    pathToClient = "C:\...\vpncli.exe"
    
    DetectHiddenWindows, on
    Process, Close, vpnui.exe
    run, cmd.exe,, Hide
    Sleep 100
    ControlSend,, %pathToClient% connect %host%{Enter}, ahk_exe cmd.exe
    Sleep 1000
    ControlSend,, %username%{Enter}, ahk_exe cmd.exe
    Sleep 50
    ControlSend,, %password%{Enter}, ahk_exe cmd.exe
    ;Process, Close, cmd.exe
    

    【讨论】:

      猜你喜欢
      • 2012-08-15
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 2010-12-07
      • 1970-01-01
      • 2015-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多