0
我有一個Internet Explorer頁面,它產生了一個彈出窗口。我可以從彈出窗口的句柄獲取父:win32:孩子的父母的孩子找不到子窗口
>>> child.handle
15208472
>>> win32gui.GetParent(child.handle)
33230502
但我不能用EnumChildWindows
發現孩子的手柄:
>>> win32gui.EnumChildWindows(win32gui.GetParent(child.handle), lambda hwnd,p: child_handles.append(hwnd), None)
>>> len(child_handles)
39
>>> child.handle in child_handles
False
我做這個遞歸以及(獲得所有孩子的孩子),仍然沒有孩子處理被發現。爲什麼會出現這種情況?
啊gotcha。那麼我如何獲得一個窗口的所有窗口?是唯一的方法來枚舉所有的窗口,並返回那些父母是特定的,不在父母的子窗口中的父母? (看起來像一個很長的路要做) – Claudiu
您可以使用EnumWindows函數並將每個窗口的所有者與目標窗口進行比較。如果窗口在同一個線程中,那麼以相同的方式使用EnumThreadWindows可能會更有效。 –
我如何獲得窗戶的主人? – Claudiu