Bloody Mousheel - Nearly done, still not perfect. Please help!
Hi folks!
Sorry for bothering you all the time with that bloody Mouswheel:
I have that Code in a module:
VB Code:
Option Explicit
'API Constants
Public Const WH_MOUSE As Long = 7
'API Declarations
Public Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Public Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Public Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
'Global mouse function callback handles
Public g_hMouseHook As Long
Public Const WM_MOUSEWHEEL = &H20A
Public Function MouseProc(ByVal idHook As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
'Mouse Function Hook...
If idHook < 0 Then
MouseProc = CallNextHookEx(g_hMouseHook, idHook, wParam, ByVal lParam)
Else
If wParam = WM_MOUSEWHEEL Then
Debug.Print idHook & ", " & wParam & ", " & lParam
Else
MouseProc = CallNextHookEx(g_hMouseHook, idHook, wParam, ByVal lParam)
End If
End If
End Function
Public Sub HookMouse()
If g_hMouseHook = 0 Then g_hMouseHook = SetWindowsHookEx(WH_MOUSE, AddressOf MouseProc, App.hInstance, App.ThreadID)
End Sub
Public Sub UnhookMouse()
If g_hMouseHook Then
Call UnhookWindowsHookEx(g_hMouseHook)
g_hMouseHook = 0
End If
End Sub
And this one in a Form
VB Code:
Option Explicit
Private Sub Command1_Click()
HookMouse
End Sub
Private Sub Command2_Click()
UnhookMouse
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
UnhookMouse
End Sub
It tells me, if someone uses the MouseWheel, but not in which direction (UP, DOWN)
Please help....