Функция EnumWindows (winuser.h)

Перечисляет все окна верхнего уровня на экране, передавая дескриптор каждому окну, в свою очередь, в определяемую приложением функцию обратного вызова. EnumWindows продолжается до тех пор, пока не будет перечислено последнее окно верхнего уровня или функция обратного вызова не вернет значение 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
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll
Набор API ext-ms-win-ntuser-window-l1-1-0 (появилось в Windows 8)

См. также раздел

Основные понятия

EnumChildWindows

EnumWindowsProc

GetWindow

Справочные материалы

Windows