GetWindow 函数 (winuser.h)

检索具有指定关系 (与指定窗口的 Z 顺序 或所有者) 的窗口的句柄。

语法

HWND GetWindow(
  [in] HWND hWnd,
  [in] UINT uCmd
);

参数

[in] hWnd

类型:HWND

窗口的句柄。 检索到的窗口句柄基于 uCmd 参数的值相对于此窗口。

[in] uCmd

类型: UINT

指定窗口与要检索其句柄的窗口之间的关系。 此参数的取值可为下列值之一:

含义
GW_CHILD
5
如果指定的窗口是父窗口,则检索到的句柄标识 Z 顺序顶部的子窗口;否则,检索的句柄为 NULL。 函数仅检查指定窗口的子窗口。 它不检查后代窗口。
GW_ENABLEDPOPUP
6
检索的句柄标识指定窗口拥有的已启用弹出窗口, (搜索使用 GW_HWNDNEXT) 找到的第一个此类窗口;否则,如果没有启用的弹出窗口,则检索到的句柄是指定窗口的句柄。
GW_HWNDFIRST
0
检索的句柄标识 Z 顺序中最高类型的窗口。

如果指定的窗口是最顶层的窗口,则句柄标识最顶层的窗口。 如果指定的窗口是顶级窗口,则句柄标识顶级窗口。 如果指定的窗口是子窗口,则句柄标识同级窗口。

GW_HWNDLAST
1
检索到的句柄标识 Z 顺序中最低类型的窗口。

如果指定的窗口是最顶层的窗口,则句柄标识最顶层的窗口。 如果指定的窗口是顶级窗口,则句柄标识顶级窗口。 如果指定的窗口是子窗口,则句柄标识同级窗口。

GW_HWNDNEXT
2
检索的句柄按 Z 顺序标识指定窗口下方的窗口。

如果指定的窗口是最顶层的窗口,则句柄标识最顶层的窗口。 如果指定的窗口是顶级窗口,则句柄标识顶级窗口。 如果指定的窗口是子窗口,则句柄标识同级窗口。

GW_HWNDPREV
3
检索的句柄按 Z 顺序标识指定窗口上方的窗口。

如果指定的窗口是最顶层的窗口,则句柄标识最顶层的窗口。 如果指定的窗口是顶级窗口,则句柄标识顶级窗口。 如果指定的窗口是子窗口,则句柄标识同级窗口。

GW_OWNER
4
检索到的句柄标识指定窗口的所有者窗口(如果有)。 有关详细信息,请参阅 拥有的 Windows

返回值

类型:HWND

如果函数成功,则返回值为窗口句柄。 如果不存在与指定窗口的指定关系窗口,则返回值为 NULL。 要获得更多的错误信息,请调用 GetLastError。

注解

EnumChildWindows 函数比在循环中调用 GetWindow 更可靠。 调用 GetWindow 来执行此任务的应用程序有被捕获到无限循环或引用已销毁窗口句柄的风险。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll
API 集 在 Windows 8) 中引入的 ext-ms-win-ntuser-window-l1-1-0 (

请参阅

概念性

EnumChildWindows

引用

Windows