Func ElementsWriteDB($WinName)
$WinHandle=WinGetHandle($WinName)
$ElementsArr=_WinAPI_EnumChildWindows($WinHandle , False)
$ParentWnd = _WinAPI_GetAncestor($WinHandle, 2)
_SQLite_Exec(-1, "CREATE TABLE IF NOT EXISTS TMPTable (ClassnameNN VARCHAR, PosX NUMERIC, PosY NUMERIC, Width NUMERIC, Height NUMERIC );")
_SQLite_Exec(-1, 'BEGIN;')
For $EANum=1 To $ElementsArr[0][0]
$Instance=GetInstance2($ElementsArr[$EANum][0], $ParentWnd)
$Position = ControlGetPos($ParentWnd, "", $ElementsArr[$EANum][0])
If Not IsArray($Position) Then Dim $Position[4]
_SQLite_Exec(-1, "INSERT INTO TMPTable VALUES ('"&$ElementsArr[$EANum][1]&$Instance&"', '"&$Position[0]&"', '"&$Position[1]&"', '"&$Position[2]&"', '"&$Position[3]&"');")
Next
_SQLite_Exec(-1, 'COMMIT;')
Dim $VarValArr, $VarValRows, $VarValColumns
_SQLite_GetTable2d(-1, "SELECT * FROM TMPTable ORDER BY PosX, PosY, Width, Height ;", $VarValArr, $VarValRows, $VarValColumns)
_SQLite_Display2DResult($VarValArr)
;~ _ArrayDisplay($VarValArr)
EndFunc
Func GetInstance2($Control, $ParentWnd)
Local $Class, $Wins, $Inst = 0
$Class = _WinAPI_GetClassName($Control)
If @error Then Return ""
$Wins = _WinAPI_EnumChildWindows($ParentWnd, False)
If IsArray($Wins) Then
For $i = 1 To $Wins[0][0]
If $Wins[$i][1] = $Class Then $Inst += 1
If $Wins[$i][0] = $Control Then Return $Inst
Next
EndIf
Return ""
EndFunc