原文链接 -> 传送门
函数功能:
EnumWindows 函数用于枚举所有屏幕上的顶层窗口,并将窗口句柄传送给应用程序定义的回调函数。如果回调函数返回 FALSE 表示将停止枚举,否则 EnumWindows 函数继续到所有顶层窗口枚举完为止。
API 函数原型:
注释:_In_ 说明该参数是输入的。
BOOL WINAPI EnumWindows( _In_ WNDENUMPROC lpEnumFunc, _In_ LPARAM lParam );
参数解析:
|
参数 |
含义 |
|
lpEnumFunc |
1. 指向应用程序自定义的回调函数的指针 |
|
lParam |
指定要传递给回调函数的应用程序自定义值 |
返回值:
1. 如果函数成功,返回值是非 0;
2. 如果函数失败,返回值是 0。
要获得更多的错误信息,请调用 GetLastError 函数。
如果 EnumWindowsProc 函数返回 0,则该函数的返回值也是 0。在这种情况下,回调函数应该调用 SetLastError 函数来包含一个有意义的错误代码,并返回给 EnumWindows 函数的调用者。
备注:
1. EnumWindows 函数不枚举子窗口,除具有 WS_CHILD 风格的系统所拥有的几个顶级窗口。
2. 在循环体中调用这个函数比调用 GetWindow 函数更可靠。调用 GetWindow 函数执行这个任务的应用程序可能会陷入死循环或指向一个已被销毁的窗口的句柄。
注意:对于 Windows 8 和之后的版本,EnumWindows 函数只枚举桌面应用程序的顶级窗口。
需求:
|
Minimum supported client |
Windows 2000 专业版 [仅桌面应用程序] |
|
Minimum supported server |
Windows 2000 服务器版 [仅桌面应用程序] |
|
Header |
Winuser.h (包含于 Windows.h) |
|
Library |
User32.lib |
|
DLL |
User32.dll |




