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