如何同时自动化多个程序(发送键盘和鼠标输入)

如何同时自动化多个程序(发送键盘和鼠标输入)

我想使用脚本发送键盘或鼠标输入等事件来自动化另一个程序。例如,想象一个玩游戏的机器人(虽然我不玩电子游戏)。

我想同时对几个(脚本、程序)对执行此操作。

我知道我可以使用 autoit 或 win32 API 在 Windows 上自动化我的鼠标和键盘,但是 Windows 有“活动窗口”的概念:一次只有一个活动窗口,这是可以接收输入的窗口。

由于这个“活动窗口”的概念,我无法自动化多种的一次可同时运行多个程序。

我还有什么选择?

编辑:我需要自动运行程序,而不必等待另一个程序。使用键盘快捷键切换活动窗口无法实现此目的。我还想在程序在后台自动运行的同时使用计算机。

答案1

已更新,包括限制当前用户输入的替代方案

奥图伊特 使用自动操作你可以做类似的事情

Opt("WinTitleMatchMode", 2)

While WinActive('Search')
    Send("{ALT DOWN}")
    Send("{TAB}")
    Send("{ALT UP}")
WEnd

其中“搜索”包含窗口标题的一部分。

如果您知道窗口焦点的顺序,您可以简单地发送足够多的额外次数来到达给定的窗口。

alt+tab 的顺序始终是按照焦点的反向顺序。

的Win32 这个问题已在其他帖子中得到解答,并深入到编程中。如果您想走这条路,您必须将 Windows 消息发送到您想要的进程。我会看看:如何向窗口发送按键而不必使用 Windows API 激活它?

它似乎不太可靠,而且有很多缺陷。必须对给定应用程序处理键盘输入的方式做出假设。

我不知道您想要实现什么,我可能会建议使用虚拟机并允许该实例运行宏/脚本。这应该允许用户继续使用计算机,而不会占用用户正在使用的桌面。

相关内容