使用控件的句柄获取已知控件的包含窗口

时间:2009-06-14 13:40:57

标签: user-interface winapi visual-c++

对于GUI程序员来说,这可能很简单,我不是......

在我正在使用的工具中(GUI“间谍”供内部使用)我有一个用户选择的控件的句柄。我想得到包含控件的窗口的句柄,以便发送一个特定的消息。现在:

  1. 控件可以是各种类型,也可能是窗口本身
  2. 控件由另一个进程创建
  3. 包含窗口可以是MDI子窗口,主窗口,弹出窗口,无论
  4. 我宁愿不使用MFC
  5. 那么,完成它的最简单方法是什么?

2 个答案:

答案 0 :(得分:1)

使用Win32 API调用:: GetParent(HWND childWindowHandle);

Documentaiton here

答案 1 :(得分:1)

将GetAncestor()与GA_PARENT标志一起使用。这将检索父窗口,但不检索所有者窗口。 (您可以反复调用它来处理嵌套控件的情况。)