这里我们把全局鼠标钩子做成一个DLL,通过主程序静态调用,来监视全局的鼠标按键状态。
全局鼠标钩子DLL源码:
.版本 2
.子程序 鼠标监视, , 公开
.参数 处理子程序, 子程序指针
mousefirst = 真
Mhook = SetWindowsHookExA (14, &鼠标钩子, GetModuleHandleA (0), 0)
MouseF = 处理子程序
.子程序 鼠标钩子, 整数型
.参数 参数一, 整数型
.参数 参数二, 整数型, , 鼠标按键的状态
.参数 参数三, 整数型
.局部变量 响应, 逻辑型, , , 鼠标响应时间逻辑
.判断开始 (参数二 = 513) ' 鼠标左键按下’
响应 = 真
Mevent = 2
.判断 (参数二 = 514) ' 鼠标左键放开’
响应 = 真
Mevent = 4
.判断 (参数二 = 516) ' 鼠标右键按下’
响应 = 真
Mevent = 8
.判断 (参数二 = 517) ' 鼠标左键按下’
响应 = 真
Mevent = 16
.默认
.判断结束
.如果真 (响应 = 假)
Mevent = 0
.如果真结束
响应 = 假
x = 取鼠标水平位置 ()
y = 取鼠标垂直位置 ()
.如果 (mousefirst = 真)
timelapse = 0
starttime = 取启动时间 ()
mousefirst = 假
.否则
timelapse = 取启动时间 () - starttime
starttime = 取启动时间 ()
mousefirst = 假
.如果结束
返回鼠标键 (MouseF)
返回 (CallNextHookEx (Mhook, 参数一, 参数二, 参数三))
.子程序 返回鼠标键
.参数 参数, 子程序指针
CallWindowProcA (到数值 (参数), Mevent, x, y, timelapse)
.子程序 卸载鼠标监视, , 公开
UnhookWindowsHookEx (Mhook)
主程序静态DLL
.版本 2
.DLL命令 鼠标监视, , "MouseDll.dll", "鼠标监视"
.参数 参数, 子程序指针
.DLL命令 卸载鼠标监视, , "MouseDll.dll", "卸载鼠标监视"
.DLL命令 ScreenToClient, 逻辑型, "user32", "ScreenToClient"
.参数 hWnd, 整数型, , 0
.参数 lpPoint, POINT, , 0
主程序静态调用
鼠标监视 (&鼠标回调)
鼠标回调函数:
.版本 2
.支持库 eAPI
.子程序 鼠标回调
.参数 a, , , 自定义的鼠标状态值
.参数 b, , , X
.参数 c, , , Y
.局部变量 M, POINT
.局部变量 x
.局部变量 y
标签1.标题 = “X: ” + 到文本 (b) + “ Y: ” + 到文本 (c)
M.X = b
M.Y = c
.如果真 (取鼠标所在窗口句柄 () = _启动窗口.取窗口句柄 ())
ScreenToClient (_启动窗口.取窗口句柄 (), M)
x = M.X
y = M.Y
标签2.标题 = “X: ” + 到文本 (x) + “ Y: ” + 到文本 (y)
.如果真结束
.判断开始 (a = 2)
标签3.标题 = “你按下鼠标左键”
.判断 (a = 4)
标签3.标题 = “你松开鼠标左键”
.判断 (a = 8)
标签3.标题 = “你按下鼠标右键”
.判断 (a = 16)
标签3.标题 = “你松开了鼠标右键”
.默认
xxx
卸载鼠标监视 ()
教程获取下载:
百度网盘链接:https://pan.baidu.com/s/158ikKVjIwaoF4438MG4fhA
提取码:加QQ群:521068947 群文件下载
资源教程交流①群:521068947
511遇见QQ: 272586593