Функция 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 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) |
См. также раздел
Основные понятия
Справочные материалы