#include <Array.au3>
#include <GuiListView.au3>
$hListView = ControlGetHandle('[Title:Program Manager; Class:Progman]', '', _
'[CLASS:SysListView32; INSTANCE:1]')
If Not $hListView Then
MsgBox(16, 'Error', 'Error')
Exit
EndIf
;получаем кол-во элементов на рабочем столе
$iCount = _GUICtrlListView_GetItemCount($hListView)
Dim $aLV[$iCount + 1][3] = [[$iCount, 'X', 'Y']]
For $i = 0 To $iCount - 1
;получаем в цикле имя элемента(файла, папки, ярлыка) по индексу (начинается с 0)
$aLV[$i + 1][0] = _GUICtrlListView_GetItemText($hListView, $i)
;получаем его координаты
$aTemp = _GUICtrlListView_GetItemPosition($hListView, $i)
If UBound($aTemp) = 2 Then
$aLV[$i + 1][1] = $aTemp[0]
$aLV[$i + 1][2] = $aTemp[1]
EndIf
Next
_ArrayDisplay($aLV, 'Desktop')
;Ищем индекс последнего элемента
$iIndex = _GUICtrlListView_FindText($hListView, $aLV[$aLV[0][0]][0])
MsgBox(64, 'Info', 'Text: ' & $aLV[$aLV[0][0]][0] & @LF & 'Index: ' & $iIndex)
MsgBox(64, 'Info', 'Index: ' & $iIndex & @LF & 'Text: ' & _
_GUICtrlListView_GetItemText($hListView, $iIndex))