Функция _WinAPI_EnumWindows

 ↑  ←  Описание функции


_WinAPI_EnumWindows

Перечисляет все окна

#include <WinAPI.au3>
_WinAPI_EnumWindows([$fVisible = True [, $hwnd = Default]])

Параметры

$fVisible [необязательный] Флаг выбора окон:
    True - Возвращает только видимые окна
    False - Возвращает все окна
$hwnd [необязательный] Дескриптор начального окна (по умолчанию Рабочий стол)

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

Возвращает массив следующего формата:
    [0][0] - Количество строк в массиве (n)
    [1][0] - Дескриптор окна
    [1][1] - Имя класса окна
    [n][0] - Дескриптор окна
    [n][1] - Имя класса окна

См. также

_WinAPI_EnumWindowsPopup, _WinAPI_EnumWindowsTop

Пример

#include <WinAPI.au3>
#include <Array.au3>
_ViewArray()
_Main()

Func _ViewArray()
    Local $aWindows, $s
    $aWindows = _WinAPI_EnumWindows()
    Local $aWindows2D[$aWindows[0][0] + 1][5] = [[$aWindows[0][0]]]
    For $i = 1 To $aWindows[0][0]
        $aWindows2D[$i][0] = $aWindows[$i][0]
        $aWindows2D[$i][1] = $aWindows[$i][1]
        $aWindows2D[$i][2] = WinGetTitle($aWindows[$i][0])
        $aWindows2D[$i][3] = WinGetText($aWindows[$i][0])
        $aWindows2D[$i][4] = WinGetProcess($aWindows[$i][0])
    Next
    $s = Chr(1) ; $s = '|'
    _ArrayDisplay($aWindows2D, "Окна", -1, 0, $s, $s, '№' & $s & 'Дескриптор' & $s & 'Класс' & $s & 'Заголовок' & $s & 'Текст' & $s & 'Процесс')
EndFunc   ;==>_ViewArray

Func _Main()
    Local $aWindows, $i, $text
    $aWindows = _WinAPI_EnumWindows()
    For $i = 1 To $aWindows[0][0]
        $text = "Дескриптор окна: " & $aWindows[$i][0] & @LF
        $text &= "Класс окна: " & $aWindows[$i][1] & @LF
        $text &= "Заголовок окна: " & WinGetTitle($aWindows[$i][0]) & @LF
        $text &= "Текст окна: " & WinGetText($aWindows[$i][0]) & @LF
        $text &= "Процесс окна: " & WinGetProcess($aWindows[$i][0])
        MsgBox(4096, "Пункт " & $i & " из " & $aWindows[0][0], $text)
    Next
EndFunc   ;==>_Main