Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _ ByVal lpClassName As Any, _ ByVal lpWindowName As Any) As Long
FindWindow ищет все окна, которые соответствуют имени класса окна и/или названию(заголовку) окна. Механизм поиска функции не чувствителен к регистру. Если Вы не желаете определять имя класса или название(заголовок) окна, Вы должны использовать пустой указатель, как признак его незначимости (vbNullString).
В случае ошибки или соответствующее окно не было найдено, функция возвращает 0 (используйте GetLastError для получения кода ошибки). В успешном случае возвращается описатель найденного окна.
' Ищем окно с именем Калькулятор и заставляем мигнуть заголовок. ' Не обязательно знать имя класса окна, которое мы ищем, ' но можем использовать это имя при желании 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