'在模块中 Public Const WH_MOUSE = 7Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer 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 Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long Public hHook As LongPublic Function MouseProc(ByVal idHook As Long, ByVal wParam As Long, ByVal lParam As Long) As Long If idHook < 0 Then 'call the next hook MouseProc = CallNextHookEx(hHook, idHook, wParam, ByVal lParam) Else If wParam = 512 Then Exit Function '吸收右键的消息,但不能不 Else Debug.Print wParam, lParam, idHook MouseProc = CallNextHookEx(hHook, idHook, wParam, ByVal lParam) End If
End If End Function'窗体中 Private Sub Form_Load() 'set a keyboard hook hHook = SetWindowsHookEx(WH_MOUSE, AddressOf MouseProc, App.hInstance, App.ThreadID) End Sub Private Sub Form_Unload(Cancel As Integer) 'remove the windows-hook UnhookWindowsHookEx hHook End Sub 还有两个text框,去掉text框鼠标右键的消息,但可以编辑等。 希望能有代码!!!
Public Const WH_MOUSE = 7Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long
Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
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
Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Public hHook As LongPublic Function MouseProc(ByVal idHook As Long, ByVal wParam As Long, ByVal lParam As Long) As Long If idHook < 0 Then
'call the next hook
MouseProc = CallNextHookEx(hHook, idHook, wParam, ByVal lParam)
Else
If wParam = 512 Then
Exit Function '吸收右键的消息,但不能不
Else
Debug.Print wParam, lParam, idHook
MouseProc = CallNextHookEx(hHook, idHook, wParam, ByVal lParam)
End If
End If
End Function'窗体中
Private Sub Form_Load()
'set a keyboard hook
hHook = SetWindowsHookEx(WH_MOUSE, AddressOf MouseProc, App.hInstance, App.ThreadID)
End Sub
Private Sub Form_Unload(Cancel As Integer)
'remove the windows-hook
UnhookWindowsHookEx hHook
End Sub
还有两个text框,去掉text框鼠标右键的消息,但可以编辑等。
希望能有代码!!!