VB中如何在后台获取鼠标点击屏幕的事件,并记录鼠标点击时的坐标

来源:百度知道 编辑:UC知道 时间:2024/06/11 13:17:51
最近用VB做个桌面宠物,想通过点击桌面上的任意地方然后宠物很移动到鼠标点击的位置

新出炉的底层鼠标钩子(Low Level Mouse Hook)
'==================窗体代码=================
Private Sub Form_Load()
hHook = SetWindowsHookEx(WH_MOUSE_LL, AddressOf MouseHookProc, App.hInstance, 0)
If hHook <> 0 Then
MsgBox "已钩住鼠标事件,请按本窗体右上方的X按钮关闭窗体,不要使用VB调试工具栏的“结束”按钮,以免VB崩溃"
End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
UnhookWindowsHookEx hHook
End Sub

'=============模块代码==================
Public Const WH_MOUSE = 7 '本地钩子
Public Const WH_MOUSE_LL = 14 '全局钩子
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 CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal nCode As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function UnhookWindowsHookEx Lib