【问题标题】:Why does the PID work, but the title does not?为什么 PID 有效,但标题无效?
【发布时间】:2016-03-11 19:06:51
【问题描述】:

长话短说,我在工作中通过一个通过 IE 运行的专有程序打印运输标签。一个常见的托运人是 Caterpillar Global Mining,所以我编写了一个脚本来为我输入该字段。

Set wshShell = WScript.CreateObject("WScript.Shell")
WScript.Sleep 100
wshShell.AppActivate ("PRINT LABEL")
WScript.Sleep 100
wshShell.SendKeys "caterpillar global mining"

我将光标放在正确的字段中,点击 Ctrl+Alt+A 运行脚本,然后重击!我不必输入公司名称 100 次。问题是,它仅在我输入 PID 而不是标题时才有效(例如,1111 而不是 "PRINT LABEL")。如果我在脚本中使用标题,它会将焦点带到 IE 上,但会丢失光标位置。我可以使用 PID,我只是好奇为什么会发生这种情况。

更新:在玩了一些之后,我注意到 IE 有 2 个进程。如果我输入其他进程 PID,则脚本的反应方式与我使用标题时相同。我现在更加困惑了。我觉得有一个简单的答案,我只是没有看到它。

【问题讨论】:

    标签: vbscript


    【解决方案1】:

    为了使用标题,字符串必须匹配窗口标题的开头。此外,您将获得第一个匹配项,因此您需要使字符串足够具体。 PID 在设计和定义上是唯一的,因此在 AppActivate 中使用 PID 时不会遇到这些问题。

    【讨论】:

    • 我想用这个标题,因为每次我重启 IE 都需要输入一个新的 PID。我已经到了它将焦点带回 IE 的地步,但它仍然失去了光标位置。有没有办法解决这个问题?
    猜你喜欢
    • 1970-01-01
    • 2022-01-12
    • 2020-05-14
    • 2020-10-07
    • 2023-03-30
    • 2013-05-13
    • 2011-09-06
    相关资源
    最近更新 更多