有没有办法将击键发送到 Python3 中的特定应用程序?

Is there a way to send keystrokes to a specificed application in Python3?

我正在尝试编写一个将文本发送到 Zoom Meetings 应用程序的脚本,我让它工作的唯一方法是按 'alt-tab' 转到 Zoom,将文本复制到剪贴板,然后按回车。观察:

import easygui, clipboard, time, pyautogui
    def alttab():
        pyautogui.hotkey('alt', 'tab')
    clipboard.copy(text)
    alttab()
    time.sleep(1)
    pyautogui.hotkey('ctrl', 'v', 'enter')

但是,这似乎不太可靠,所以有没有办法将击键发送到特定的应用程序,例如 Zoom?

非常感谢您的帮助

似乎取决于您的平台,因为 windows 由您的 OS 管理。 我找到了一个目前仅供 windows 使用的开发项目。来了,以后计划纳入puautoGUI

https://github.com/asweigart/PyGetWindow

如果你阅读自述文件,有一种方法可以获取缩放 window,然后激活它,然后发送击键。

从 pip 安装:

pip install pygetwindow

将标题放大 window 代替 'MyZoomTitle'

zoomWindow = gw.getWindowsWithTitle('MyZoomTitle')[0]
if zoomWindow.isMinimized():
    zoomWindow.restore()
zoomWindow.activate()

这应该可以激活缩放 window,然后您可以使用其他方法发送击键。