#include <GUIConstantsEx.au3>
#include <GuiListView.au3>

$Debug_LV = False ; Проверяет ClassName передаваемый в ListView функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает

_Main()

Func _Main()
	Local $tItem, $hListView

	GUICreate("Получает атрибуты пункта", 400, 300)

	$hListView = GUICtrlCreateListView("Пункты", 2, 2, 394, 268)
	GUISetState()

	GUICtrlCreateListViewItem("Пункт 1", $hListView)
	GUICtrlCreateListViewItem("Пункт 2", $hListView)
	GUICtrlCreateListViewItem("Пункт 3", $hListView)

	; Показывает состояние пункта с индексом 1
	$tItem = DllStructCreate($tagLVITEM)
	DllStructSetData($tItem, "Mask", $LVIF_STATE)
	DllStructSetData($tItem, "Item", 1)
	DllStructSetData($tItem, "StateMask", -1)
	_GUICtrlListView_GetItemEx($hListView, $tItem)
	MsgBox(4160, "Информация", "Состояние 2-го пункта: " & DllStructGetData($tItem, "State"))

	; Выделяет пункт с индексом 1
	_GUICtrlListView_SetItemSelected($hListView, 1)

	; Показывает состояние пункта с индексом 1
	_GUICtrlListView_GetItemEx($hListView, $tItem)
	MsgBox(4160, "Информация", "Состояние 2-го пункта: " & DllStructGetData($tItem, "State"))

	; Цикл выполняется, пока окно не будет закрыто
	Do
	Until GUIGetMsg() = $GUI_EVENT_CLOSE
	GUIDelete()
EndFunc   ;==>_Main