我的应用程序有5个窗口(1个窗口,4个窗格),它们具有父桌面,并且它们共享相同的process_id。
当我尝试这样的事情时:
for line in pywinauto.findwindows.find_windows(process=proc_id):
print line ### this will print all 5 handles of windows
app = Application().connect(handle=line) ### this will connect to specific handle
app.top_window().set_focus() ### this will set focus ONLY to one window and bring it to forward
time.sleep(5)
这个FOR循环应该每5秒提前一个窗口(1个control_type =" Window" element和4time control_type =" Pane"元素)但是这只会带来一个窗口转发没有别的,它将获得5倍的关注。没有改变窗户。
感谢
答案 0 :(得分:0)
因为top_window()总是选择第一个顶部窗口。您对此方法还有什么期望?无论如何,我们计划重新设计或删除它。
适用于您的目的的方法是app.windows():
for w in app.windows():
print(w.window_text())
w.set_focus()
注意:app.windows()返回包装器列表,因此只能列出.children()或.descendants(),而无需高级隐式等待和更详细的搜索规范。