enumWindows 函数 (winuser.h)

通过将句柄传递到每个窗口,进而将传递给应用程序定义的回调函数,枚举屏幕上的所有顶级窗口。 枚举窗口 将一直持续到最后一个顶级窗口被枚举或回调函数返回 FALSE

语法

BOOL EnumWindows(
  [in] WNDENUMPROC lpEnumFunc,
  [in] LPARAM      lParam
);

参数

[in] lpEnumFunc

类型: WNDENUMPROC

指向应用程序定义的回调函数的指针。 有关详细信息,请参阅 EnumWindowsProc

[in] lParam

类型:LPARAM

要传递给回调函数的应用程序定义值。

返回值

类型: BOOL

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

如果 EnumWindowsProc 返回零,则返回值也为零。 在这种情况下,回调函数应调用 SetLastError 以获取要返回到 EnumWindows 调用方有意义的错误代码。

注解

EnumWindows 函数不枚举子窗口,但系统拥有的几个具有WS_CHILD样式的顶级窗口除外。

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

注意对于Windows 8及更高版本,EnumWindows 仅枚举桌面应用的顶级窗口。
 

要求

要求
最低受支持的客户端 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

EnumWindowsProc

GetWindow

引用

Windows