#include <WinAPI.au3>
#include <WindowsConstants.au3>
OnAutoItExitRegister("Cleanup")
$hMProc = DllCallbackRegister("MProc", "long", "int;wparam;lparam")
$hHook = _WinAPI_SetWindowsHookEx($WH_MOUSE_LL, DllCallbackGetPtr($hMProc), _WinAPI_GetModuleHandle(0))
$Click = False
While Sleep(11)
If $Click Then
MouseClick("")
$Click = False
EndIf
WEnd
Func MProc($nCode, $wParam, $lParam)
If $nCode < 0 Then Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam)
Local Const $tagMSLLHOOKSTRUCT = "LONG x; LONG y; DWORD mouseData; DWORD flags; DWORD time; ULONG_PTR dwExtraInfo;"
If $wParam = $WM_MOUSEWHEEL Then
Local $tMSLLHOOKSTRUCT = DllStructCreate($tagMSLLHOOKSTRUCT, $lParam)
If _WinAPI_HiWord($tMSLLHOOKSTRUCT.mouseData) < 0 Then
$Click = True
Return 1
EndIf
EndIf
Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam)
EndFunc
Func Cleanup()
_WinAPI_UnhookWindowsHookEx($hHook)
DllCallbackFree($hMProc)
EndFunc