使用pywinauto查找窗口需要很长时间

时间:2017-10-02 10:25:42

标签: python python-3.x pywin32 pywinauto

我正在尝试自动化多个应用程序的处理。 我可以从第一个应用程序打开第二个应用程序。我需要选择第二个窗口才能使用它。 我目前能够做到这一点,但所需的时间从2秒到几乎一分钟不等。我知道有多种因素影响这一点,就像其他同时运行的程序一样。我仍然认为使用更有效的代码可以减少所需的时间。

我目前这样做:

app = pywinauto.application.Application(backend="uia") 
app.connect(path="Document-I-wish-to-find.exe")
mywindows = pywinauto.findwindows.find_windows(title_re=".*Firstpartofwindowname ")
app = pywinauto.application.Application().connect(handle=mywindows[0])

如果我不搜索Title而不是其他内容,它会更快吗? 或者我可以使用另一种方法,结果相同吗?

1 个答案:

答案 0 :(得分:4)

要加快速度,请使用class_name关键字。它更快,因为class_name可以通过1个Win32函数调用获得,而获取文本需要向另一个进程发送2个窗口消息。当然,pywinauto过滤器首先由class_name处理。