amel27,
Абалдеть!!! другого слова просто не позволяю себе сказать (написать)!
Вот пример, подобный обработке сообщении для элементов GUI (ListView в частности):
Код:

Global Const $WH_MOUSE_LL = 14
Global $hKeyProc = DllCallbackRegister ("_Mouse_Handler", "int", "int;ptr;ptr")
Global $hmod = DllCall("kernel32.dll", "hwnd", "GetModuleHandle", "ptr", 0)
MsgBox(4096, "", 'После нажатия "Ok" левая кнопка мыши будет заблокирована на 10 сек.')
Global $hHook = DllCall("user32.dll", "hwnd", "SetWindowsHookEx", "int", $WH_MOUSE_LL, _
"ptr", DllCallbackGetPtr($hKeyProc), "hwnd", $hmod[0], "dword", 0)
Sleep(10000)
DllCall("user32.dll", "int", "UnhookWindowsHookEx", "hwnd", $hHook[0])
DllCallbackFree($hKeyProc)
Func _Mouse_Handler($nCode, $wParam, $lParam)
Switch BitAND($WParam, 0xFFFF)
Case 512 ;Mouse Move
PrintF("Mouse Moving")
Case 513 ;Primary Down
PrintF("Primary Down [Blocked]")
Return 1 ;Block default processing
Case 514 ;Primary Up
PrintF("Primary Up")
Case 516 ;Secondary Down
PrintF("Secondary Down")
Case 517 ;Secondary Up
PrintF("Secondary Up")
Case 519 ;Midle Down
PrintF("Midle Down")
Case 520 ;Midle Up
PrintF("Midle Up")
Case 522 ;Mouse Whell
PrintF("Mouse Whell")
Case Else
PrintF("Event: " & BitAND($WParam, 0xFFFF))
Return 0 ;Allow default processing
EndSwitch
EndFunc
Func PrintF($sString, $iMode=0, $iLine=@ScriptLineNumber)
If $iMode = 0 Then
ConsoleWrite("+======================================================" & @LF & _
"--> Script Line (" & $iLine & "):" & @LF & "!" & @TAB & $sString & @LF & _
"+======================================================" & @LF)
Else
MsgBox(64, "Debug", "> Script Line (" & $iLine & "):" & @LF & @LF & "Debug:" & @LF & $sString)
EndIf
EndFunc
Теперь я наконец могу завершить свой проэкт. Спасибо!