Python 将击键发送到非活动应用程序

Posted

技术标签:

【中文标题】Python 将击键发送到非活动应用程序【英文标题】:Python Send Keystrokes to Non-Active Application 【发布时间】:2011-01-07 02:17:36 【问题描述】:

我正在自动化一些我必须在应用程序中执行的常见 GUI 任务,并且我正在使用 Python 程序和 SendKeys 来完成它。到目前为止,我必须激活要向其发送键的应用程序(因为 SendKeys 只是将击键发送到活动窗口),但我希望能够在后台向应用程序发送击键。有没有办法做到这一点,或者我在做一个不可能的梦想?

感谢您的帮助。

【问题讨论】:

【参考方案1】:

pywinauto 是另一个仅限 MS 的 GUI 自动化工具,它是用 Python 编写的。

【讨论】:

请注意,此 URL 现已失效。请改用this。【参考方案2】:
SendKeys is a Python module for Windows that can send one or more keystrokes or keystroke combinations to the active window.

如果您需要在后台执行一些自动化工作,请创建另一个用户/会话并在其中执行此操作。

但是,如果您必须在 Windows 上执行此类操作,我总是联系 autoit。

它只有 M$,非常适合在该操作系统上自动执行任务。

【讨论】:

【参考方案3】:

这是autohotkey.com 论坛中的常见问题。搜索下 “向控件发送命令”。基本上,如果您有控件 ID,那么它不需要可见就可以对其进行操作。论坛上有更多详细信息。

祝你好运!

【讨论】:

以上是关于Python 将击键发送到非活动应用程序的主要内容,如果未能解决你的问题,请参考以下文章

将击键发送到特定窗口(在后台),但同时做其他事情[重复]

Vbscript从批处理文件运行而不将击键发送到批处理文件

从 Winforms 应用程序发送全局击键/伪造全局热键

通过 JNA 向隐藏窗口发送击键

使用python将一些键发送到非活动窗口

唤起excel快捷键c#