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

问题描述

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

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是由操作系统管理的,因此似乎取决于您的平台。 我发现了一个仅适用于Windows的开发项目。它在这里,计划将来包含在puautoGUi中。

https://github.com/asweigart/PyGetWindow

如果您阅读了自述文件,则可以使用一种方法来获取缩放窗口,然后将其激活并发送击键。

从pip安装:

pip install pygetwindow

将标题放在缩放窗口中,代替“ MyZoomTitle”

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

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