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

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

_Main()

Func _Main()
	Local $a_order, $hListView

	GUICreate("Устанавливает порядок колонок", 400, 300)
	$hListView = GUICtrlCreateListView("Колонка 1|Колонка 2|Колонка 3|Колонка 4", 2, 2, 394, 268)
	GUISetState()

	; Устанавливает порядок колонок
	MsgBox(4160, "Информация", "Изменяет порядок колонок")
	_GUICtrlListView_SetColumnOrder($hListView, "3|2|0|1")

	; Показывает порядок колонок
	$a_order = _GUICtrlListView_GetColumnOrderArray($hListView)
	MsgBox(4160, "Информация", StringFormat("Порядок колонок: [%d, %d, %d, %d]", $a_order[1], $a_order[2], $a_order[3], $a_order[4]))

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

	GUIDelete()
EndFunc   ;==>_Main