我正在使用win32api
在python中进行GUI自动化(winmerge)。我必须选择winmerge窗口,以便我可以使用sendkeys函数向它发送一些键盘笔划。但是我的键盘笔划将进入python活动状态shell,而不是所需的window.I不知道窗口句柄所以不能使用findwindow函数。可以建议一种方法来选择winmerge窗口。
P.S-我看到了一个名为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
""")
答案 0 :(得分:1)
这是一个答案的链接,可以帮助您激活正确的窗口:https://stackoverflow.com/a/2091530/117092它在每个打开的窗口的标题上运行一个正则表达式,并在第一个匹配窗口返回一个句柄。为Python 2.x开发,它也适用于Python 3.x
然后您可以将密钥发送到此窗口。以下模块可能有所帮助: http://www.rutherfurd.net/python/sendkeys/#sendkeys
我希望它有所帮助
LUC