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

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

Синтаксис

HWND FindWindowExW(
  [in, optional] HWND    hWndParent,
  [in, optional] HWND    hWndChildAfter,
  [in, optional] LPCWSTR lpszClass,
  [in, optional] LPCWSTR lpszWindow
);

Параметры

[in, optional] hWndParent

Тип: HWND

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

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

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

[in, optional] hWndChildAfter

Тип: HWND

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

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

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

[in, optional] lpszClass

Тип: LPCWSTR

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

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

[in, optional] lpszWindow

Тип: LPCWSTR

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

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

Тип: HWND

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

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

Комментарии

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

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

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

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

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

Примечание

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

Требования

   
Минимальная версия клиента 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