Функция FindWindowEx

Declare Function FindWindowEx Lib "user32" _
    Alias "FindWindowExA" _
    (ByVal hwndParent As Long, _
    ByVal hwndChildAfter As Long, _
    ByVal lpszClass As Any, _
    ByVal lpszWindow As Any) As Long

FindWindowEx ищет окно, соответствующее указанному классу и/или названию (заголовку) окна. Фунцкия ведет поиск всех дочерних окон указанного родительского окна. Если Вы не желаете определять имя класса или название (заголовок) окна, Вы должны использовать пустой указатель, как признак его незначимости (vbNullString).

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

Если ошибка произошла, или соответствующее окно не было найдено, функция возвращает 0 (используйте GetLastError для получения кода ошибки). В успешном случае функция возвращает описатель найденного окна.

Параметры

hWndParent
Описатель родительского окна для поиска его дочерних окон. Для поиска всех окон установите параметр равным 0
hWndChildAfter
Описатель первого найденного дочернего окна. Поиск начинается с окна, который находится сразу после родительского в Z-order порядке. Если параметр равен 0, поиск начинается с вершины Z-order
lpszClass
Имя класса окна для поиска. Используйте 0 для игнорирования имени класса окна при поиске
lpszWindow
Имя заголовка окна или текста окна. Используйте 0 для игнорирования имени окна при поиске

Пример

' Прячем кнопку Пуск и часы нижнем правом углу
' Кнопка является дочерним окном Панели задач
' Часики является дочерним окном системного лотка 
Dim hwndStart As Long  ' описатель кнопки Пуск
Dim hwndClock As Long ' описатель часов
Dim hwndSysTray As Long ' описатель области уведомлений
Dim hwndShellTray As Long ' описатель Панели задач
' Находим описатель панели задач по его имени Shell_TrayWnd
hwndShellTray = FindWindow("Shell_TrayWnd", vbNullString)
' Находим описатель кнопки
hwndStart = FindWindowEx(hwndShellTray, 0, "Button", vbNullString)
ShowWindow hwndStart, 0 ' прячем ее
' Находим описатель области уведомлений
hwndSysTray = FindWindowEx(hwndShellTray, 0, "TrayNotifyWnd", vbNullString)
' Находим описатель часов и прячем их
hwndClock = FindWindowEx(hwndSysTray, 0, "TrayClockWClass", vbNullString)
ShowWindow hwndClock, 0

Смотри также

FindWindow

Категория

Окна