Как работать с FindWindow, EnumWindow.

Вопрос:

Поясните как работать с функцией API:
FindWindow, EnumWindow.
Мне нужно найти идентификатор окна.

Ответ:

Функция может искать хендл окна либо по заголовку, либо по имени класса, в зависимости от того, что известно. Ну и, естественно, хендл надо получить:

Dim lMyHandle As Long
lMyHandle = FindWindow(vbNullString, "Калькулятор")
     ' если знаем заголовок
lMyHandle = FindWindow("ExploreWClass", vbNullString)
     ' найдешь окно Проводника

А EnumWindows используется для того, чтобы перебрать все окна, существующие в данный момент.

Private Sub Form_Load()
     Me.AutoRedraw = True
     'call the Enumwindows-function
     EnumWindows AddressOf EnumWindowsProc, ByVal 0&
End Sub

'Это помещаешь в модуль
Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal
lParam As Long) As Boolean
Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal
hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Declare Function GetWindowTextLength Lib "user32" Alias
"GetWindowTextLengthA" (ByVal hwnd As Long) As Long

Public Function EnumWindowsProc(ByVal hwnd As Long, ByVal lParam As Long) As
Boolean
     Dim sSave As String, Ret As Long
     Ret = GetWindowTextLength(hwnd)
     sSave = Space(Ret)
     GetWindowText hwnd, sSave, Ret + 1
     Form1.Print Str$(hwnd) + " " + sSave
     EnumWindowsProc = True ' продолжение перебора
End Function

    Дмитрий Данелия