Функция EnumChildWindows

Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long

EnumChildWindows перечисляет дочерние окна заданного родительского окна. Функция также перечисляет дочерние окна дочерних окон.

hWndParent
Описатель родительского окна для перечисления его дочерних окон
lpEnumFunc
Указатель на функцию EnumChildProc, вызываемую для каждого дочернего окна
lParam
Добавочное значение, передаваемое функции обратного вызова

Пример

' Получим заголовки всех дочерних окон формы Form1

' Расположите код в модуле,
' т.к. применяется функция обратного вызова
Public Function EnumChildProc(ByVal hwnd As Long, ByVal lParam As Long) As Long
    Dim sSave As String
    ' Получим длину текста
    sSave = Space$(GetWindowTextLength(hwnd) + 1)
    ' Получим текст
    GetWindowText hwnd, sSave, Len(sSave)
    ' Удалим завершающий нулевой символ Chr$(0)
    sSave = Left$(sSave, Len(sSave) - 1)
    If sSave <> "" Then Form1.Print sSave
    ' Продолжим перечисление
    EnumChildProc = 1
End Function

 
' Расположите код в место, где будете перечислять окна
Dim retval As Long  ' возвращаемое значение

retval = EnumChildWindows(Form1.hwnd, AddressOf EnumChildProc, 0)

Смотри также

EnumThreadWindows, EnumWindows

Категория

Окна