Windows Mobile 6.5
A version of this page is also available for

This function enumerates all top-level windows on the screen by passing the handle to each window, in turn, to an application-defined callback function. EnumWindows continues until the last top-level window is enumerated or the callback function returns FALSE.

BOOL EnumWindows( 
  WNDENUMPROC lpEnumFunc, 
  LPARAM lParam 


[in] Long pointer to an application-defined callback function. For more information, see EnumWindowsProc.


[in, out] Specifies an application-defined value to be passed to the callback function.

Nonzero indicates success. Zero indicates failure. To get extended error information, call GetLastError.

The EnumWindows function does not enumerate child windows.

This function is more reliable than calling the GetWindow function in a loop. An application that calls GetWindow to perform this task risks being caught in an infinite loop or referencing a handle to a window that has been destroyed.

Windows Embedded CEWindows CE 1.0 and later
Windows MobileWindows Mobile Version 5.0 and later

Community Additions