使用pywinauto查找window需要很长时间
It takes a long time to find window using pywinauto
我正在尝试自动处理多个应用程序。
我可以从第一个应用程序打开第二个应用程序。我需要 select 第二个 window 才能操作它。
我目前能够做到这一点,但所需时间从 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])
如果我不搜索标题而是搜索其他内容,会不会更快?
或者我可以使用另一种方法来获得相同的结果吗?
要加快速度,请使用 class_name 关键字。它更快,因为 class_name 可以通过 1 个 Win32 函数调用获得,而获取文本需要向另一个进程发送 2 个 window 消息。 pywinauto 过滤器首先处理class_name,当然。
我正在尝试自动处理多个应用程序。 我可以从第一个应用程序打开第二个应用程序。我需要 select 第二个 window 才能操作它。 我目前能够做到这一点,但所需时间从 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])
如果我不搜索标题而是搜索其他内容,会不会更快? 或者我可以使用另一种方法来获得相同的结果吗?
要加快速度,请使用 class_name 关键字。它更快,因为 class_name 可以通过 1 个 Win32 函数调用获得,而获取文本需要向另一个进程发送 2 个 window 消息。 pywinauto 过滤器首先处理class_name,当然。