Функция FindWindow

Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
    ByVal lpClassName As Any,  _
    ByVal lpWindowName As Any) As Long

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

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

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

Параметры

lpClassName
Имя класса окна. Используйте vbNullString, чтобы игнорировать класс окна
lpWindowName
Имя окна (заголовок). Используйте vbNullString, чтобы игнорировать заголовок окна

Пример

' Ищем окно с именем Калькулятор и заставляем мигнуть заголовок. 
' Не обязательно знать имя класса окна, которое мы ищем,
' но можем использовать это имя при желании
Dim hwnd As Long  ' описатель окна
Dim retval As Long  ' возвращаемое значение

' пытаемся найти окно Калькулятор
hwnd = FindWindow(vbNullString, "Калькулятор") 
If hwnd = 0 Then  ' если не найдем
  Debug.Print "Калькулятор в настоящее время не запущен" 
Else
  ' Заставляем мигнуть заголовок один раз.
  retval = FlashWindow(hwnd, 1)
  Sleep 500  ' Пауза в течении полсекунды
  retval = FlashWindow(hwnd, 0)
End If

Смотри также

FindWindowEx

Категория

Окна