如何通过 Windows 中的脚本聚焦窗口?

问题描述

我想专注于 windows 中的一个窗口。

Set Shell = CreateObject("WScript.Shell")
Shell.AppActivate(WScript.Arguments.Item(0))

使用此 VBS 代码。通过提供窗口的标题或将进程 ID 作为命令行参数提供给它,我能够专注于一个窗口。

但它不像我想象的那样工作。

好的,在我继续之前。我必须说我对视觉基础完全陌生(就像今天的新人一样)。

话虽如此,我目前面临两个问题 - 1 - 通过标题/名称聚焦窗口似乎不适用于所有应用程序 2 - 尽管通过进程 ID 专注于应用程序确实有效。几乎没有什么问题。

数字 1 是 - 具有相同图像名称的进程拥有多个进程 id(并且其中只有一个可以聚焦于应用程序窗口)。

数字 2 是 - 进程 id 每次都会改变,我重新运行应用程序。

如果您在想,他为什么将这些视为问题,他的目的是什么?然后

我正在尝试自动化 Windows 应用程序。 为此,我需要先专注于它,然后通过脚本为其提供输入。

由于具有相同图像名称的应用程序返回多个进程 ID,并且只有其中一个有效。我目前必须逐一检查它们中的每一个,才能看到哪个打开了窗口。

所以我的问题是—— 如何在不使用进程 ID 的情况下专注于窗口, 当我提供窗口名称/应用程序名称/图像名称时,为什么不将焦点更改为窗口? (当我回显 AppActivate 的返回值时,它返回 false,它不会打开任何窗口)

以及如何通过为 vb 脚本指定特定名称来确定这一点?它会打开正确的页面吗?

当然,解决方案可能不是特定于 vb 的。我对任何可以通过脚本关注窗口的解决方案持开放态度。

提前致谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)