0

我有一个 Internet Explorer 页面,它生成了一个弹出窗口。我可以从弹出窗口的句柄中获取父级:

>>> 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

我也以递归方式完成了此操作(获取所有孩子的孩子),但仍然没有找到孩子句柄。为什么会这样?

4

1 回答 1

2

弹出窗口不是子窗口,因此不能用EnumChildWindows.

当你打电话时,win32gui.GetParent你实际上得到了弹出窗口的“所有者”窗口,但“所有者”和“父”是两个不同的东西。有关更多信息,请参阅MSDN 条目

于 2012-09-03T21:31:46.093 回答