选择 GUI 窗口,用于在 Python 3.2 中使用 win32 API 发送击键



我正在使用win32api在python中进行GUI自动化(winmerge)。我必须选择 winmerge 窗口,以便我可以使用发送键功能向其发送一些键盘笔划。但是,我的键盘敲击将转到python活动shell而不是所需的窗口。我不知道窗口句柄,所以无法使用查找窗口功能。您能否建议一种选择winmerge窗口的方法。P.S-i看到了一个名为Enumwindow的函数(它需要一个本地回调函数参数。您能否告诉我要传递什么作为本地调用函数参数)提前谢谢你。到目前为止我的代码-

import win32api
import win32com.client
import subprocess
import win32gui
subprocess.Popen(r'winmergeu {0} {1}'.format('file1','file2') )
shell=win32com.client.Dispatch("WScript.Shell")
shell.Sendkeys("""
                  %t
                  r
                  """)

这是一个答案的链接,可以帮助您激活正确的窗口: https://stackoverflow.com/a/2091530/117092 它在每个打开的窗口的标题上运行正则表达式,并在第一个匹配窗口上返回一个句柄。为Python 2.x开发,它也应该在Python 3.x中工作

然后,您可以将密钥发送到此窗口。以下模块可能会有所帮助:http://www.rutherfurd.net/python/sendkeys/#sendkeys

我希望它有所帮助

卢克

最新更新