#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
#include <Constants.au3>
Global Const $VK_RETURN = 0x0D ;Enter key
$hGUI = GUICreate("Test GUI", 300, 200)
$hListView = _GUICtrlListView_Create($hGUI, "Items|SubItems", 10, 10, 280, 180)
For $i = 1 To 10
_GUICtrlListView_AddItem($hListView, "Item " & $i)
Next
GUISetState()
$wProcHandle = DllCallbackRegister("_WindowProc", "int", "hwnd;uint;wparam;lparam")
$wProcOld = _WinAPI_SetWindowLong($hListView, $GWL_WNDPROC, DllCallbackGetPtr($wProcHandle))
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
_WinAPI_SetWindowLong($hListView, $GWL_WNDPROC, $wProcOld)
DllCallbackFree($wProcHandle)
GUIDelete($hGui)
Func _WindowProc($hWnd, $Msg, $wParam, $lParam)
Switch $hWnd
Case $hListView
Switch $Msg
Case $WM_GETDLGCODE
Switch $wParam
Case $VK_RETURN
ConsoleWrite("Enter key is pressed" & @LF)
Return 0
EndSwitch
EndSwitch
EndSwitch
Return _WinAPI_CallWindowProc($wProcOld, $hWnd, $Msg, $wParam, $lParam)
EndFunc