#include <Array.au3>
#include <WinAPIEx.au3>
Opt('MustDeclareVars', 1)
Global $sClass = 'Button', $iPID, $aTmp, $aRes[1][5], $hWin, $sTmp
$iPID = Run('calc.exe')
Sleep(500)
$aTmp = _WinAPI_EnumProcessWindows($iPID, 1)
If @error Then Exit 1
$hWin = $aTmp[1][0]
$aTmp = _WinAPI_EnumChildWindows($hWin)
If @error Then Exit 2
ReDim $aRes[$aTmp[0][0] + 1][5]
For $i = 1 To $aTmp[0][0]
If $aTmp[$i][1] = $sClass Then
$aRes[0][0] += 1
$aRes[$aRes[0][0]][0] = 'Handle = ' & $aTmp[$i][0]
$aRes[$aRes[0][0]][1] = 'Advanced (Class) = [CLASS:' & $sClass & '; INSTANCE:' & $aRes[0][0] & ']'
$aRes[$aRes[0][0]][2] = 'ClassnameNN = ' & $sClass & $aRes[0][0]
$aRes[$aRes[0][0]][3] = 'ID = ' & _WinAPI_GetDlgCtrlID($aTmp[$i][0])
$sTmp = ControlGetText($hWin, '', $aTmp[$i][0])
If Not $sTmp Then $sTmp = '???'
$aRes[$aRes[0][0]][4] = 'Text = ' & $sTmp
EndIf
Next
If $aRes[0][0] Then
ReDim $aRes[$aRes[0][0] + 1][5]
_ArrayDisplay($aRes)
Else
Exit 3
EndIf