2011-05-08 59 views
3

HWND当我们使用WindowFromPoint WINAPI功能我们通常可以得到的情况下,当点指定在一个窗口内一些控制。在这种情况下,WindowFromPoint将返回到该控件的句柄,而不是处理该控件的窗口。真正从点

例如,在我小的测试应用程序,如果我点到的“身体” Chrome浏览器的我与类= Chrome_RenderWidgetHostHWND及其HWND控制。

但我需要的是让该控件“父”窗口(这显然应该是铬窗口)。

+2

通过“指示器”,你的意思是“句柄”。 – 2011-05-08 11:59:05

+0

@Andreas Rejbrand:是的,窗户把手。修正了,谢谢。 – zerkms 2011-05-08 12:03:07

回答

4

导线使用GetAncestor()通过GA_PARENT父母。这与调用GetParent()不同,如果该窗口是顶级窗口,将返回所有者。

+0

是的,但似乎'GA_ROOT'更符合我的期望,不是吗? – zerkms 2011-05-08 09:12:35

+0

@zerkms也许'GA_ROOT'更好,我不确定你正在寻找哪个窗口。只有你知道! ;-) – 2011-05-08 09:14:30

+0

常规窗口是所有控件的顶层容器,带有标题和最小化/最大化/关闭按钮的顶层容器。 – zerkms 2011-05-08 09:17:04

1

你就不能使用GetParent?继续遍历,直到找到桌面窗口。

+0

谢谢,答案是+1。 – zerkms 2011-05-08 09:12:55