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

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

; Предупреждение: не используйте SetItemParam для пунктов созданных функцией GuiCtrlCreateListViewItem, так как в них значение Param содержит идентификатор пункта (ControlID).

_Main()

Func _Main()
	Global $GUI, $iI, $hListView

	; Создаёт GUI
	$GUI = GUICreate("ListView - Поиск пункта по Param", 400, 300)
	$hListView = _GUICtrlListView_Create($GUI, "", 2, 2, 394, 268)
	GUISetState()

	; Добавляет колонки
	_GUICtrlListView_AddColumn($hListView, "Пункты", 100)

	; Добавляет пункты
	_GUICtrlListView_BeginUpdate($hListView)
	For $iI = 1 To 100
		_GUICtrlListView_AddItem($hListView, "Пункт " & $iI)
	Next
	_GUICtrlListView_EndUpdate($hListView)

	; Устанавливает значение Param пункта 50
	_GUICtrlListView_SetItemParam($hListView, 49, 1234)

	; Поиск пункта назначения
	$iI = _GUICtrlListView_FindParam($hListView, 1234)
	MsgBox(4160, "Информация", "Индекс пункта назначения: " & $iI)
	_GUICtrlListView_EnsureVisible($hListView, $iI)

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