Поделиться через


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

Извлекает дескриптор для окна, имя класса и имя окна которого соответствуют указанным строкам. Функция выполняет поиск в дочерних окнах, начиная с указанного дочернего окна. Эта функция не выполняет поиск с учетом регистра.

Синтаксис

HWND FindWindowExA(
  [in, optional] HWND   hWndParent,
  [in, optional] HWND   hWndChildAfter,
  [in, optional] LPCSTR lpszClass,
  [in, optional] LPCSTR lpszWindow
);

Параметры

[in, optional] hWndParent

Тип: HWND

Дескриптор родительского окна, в дочерних окнах которого требуется выполнить поиск.

Если hwndParent имеет значение NULL, функция использует окно рабочего стола в качестве родительского окна. Функция выполняет поиск по окнам, которые являются дочерними окнами рабочего стола.

Если hwndParentHWND_MESSAGE, функция выполняет поиск во всех окнах только для сообщений.

[in, optional] hWndChildAfter

Тип: HWND

Дескриптор дочернего окна. Поиск начинается со следующего дочернего окна в порядке Z. Дочернее окно должно быть прямым дочерним окном hwndParent, а не просто окном-потомком.

Если hwndChildAfter имеет значение NULL, поиск начинается с первого дочернего окна hwndParent.

Обратите внимание, что если hwndParent и hwndChildAfter имеют значение NULL, функция выполняет поиск во всех окнах верхнего уровня и окнах только для сообщений.

[in, optional] lpszClass

Тип: LPCSTR

Имя класса или атом класса, созданный предыдущим вызовом функции RegisterClass или RegisterClassEx . Атом должен быть помещен в нижнем порядке слово lpszClass; Слово высокого порядка должно быть равно нулю.

Если lpszClass является строкой, он указывает имя класса окна. Имя класса может быть любым именем, зарегистрированным с помощью RegisterClass или RegisterClassEx, или любым из предопределенных имен класса элементов управления, или может быть MAKEINTATOM(0x8000). В последнем случае 0x8000 является атомом для класса меню. Дополнительные сведения см. в разделе Примечания этого раздела.

[in, optional] lpszWindow

Тип: LPCSTR

Имя окна (название окна). Если этот параметр имеет значение NULL, все имена окон совпадают.

Возвращаемое значение

Тип: HWND

Если функция выполняется успешно, возвращаемое значение представляет собой дескриптор окна с указанными именами классов и окон.

Если функция завершается сбоем, возвращается значение NULL. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Функция FindWindowEx выполняет поиск только прямых дочерних окон. Он не ищет других потомков.

Если параметр lpszWindow не равен NULL, FindWindowEx вызывает функцию GetWindowText , чтобы получить имя окна для сравнения. Описание потенциальной проблемы, которая может возникнуть, см. в разделе Примечания статьи GetWindowText.

Приложение может вызывать эту функцию следующим образом.

FindWindowEx( NULL, NULL, MAKEINTATOM(0x8000), NULL );

Обратите внимание, что 0x8000 является атомом для класса меню. Когда приложение вызывает эту функцию, функция проверяет, отображается ли созданное приложение контекстное меню.

Примечание

Заголовок winuser.h определяет FindWindowEx в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента 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-1 (представлено в Windows 8.1)

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

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

EnumWindows

Findwindow

GetClassName

GetWindowText

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

RegisterClass

RegisterClassEx

Windows