文章目录[隐藏]
本节课通过鼠标钩子来获取窗口的句柄,我们在游戏中通过一些按键来控制游戏,我们可以通过鼠标钩子来集成一些按键,通过鼠标的动作就可以控制游戏,本课增加了两个API:CopyMemory;WindowFromPoint,CopyMemory的作用是把数据拷贝到鼠标这个变量句柄,而鼠标这个变量就是鼠标结构体MOUSEHOOKSTRUCT
鼠标结构体MOUSEHOOKSTRUCT
.版本 2 .数据类型 POINT .成员 x, 整数型 .成员 y, 整数型 .数据类型 MOUSEHOOKSTRUCT .成员 pt, POINT, , , POINT结构对象,保存鼠标在屏幕上的x,y坐标 .成员 hwnd, 整数型, , , 接收到鼠标消息的窗口的句柄 .成员 wHitTestCode, 整数型 .成员 dwExtraInfo, 整数型, , , 指定与本消息联系的额外消息
安装鼠标钩子
鼠标钩子句柄 = SetWindowsHookExA (14, &鼠标全局钩子回调, GetModuleHandleA (0), 0)
鼠标全局钩子回调
.版本 2 .支持库 eAPI .子程序 鼠标全局钩子回调, 整数型 .参数 参数一 .参数 参数二, , , 鼠标的状态值 .参数 参数三 .局部变量 鼠标, MOUSEHOOKSTRUCT ' 把数据拷贝到鼠标这个变量句柄 CopyMemory (鼠标, 参数三, 20) 句柄 = WindowFromPoint (鼠标.pt.x, 鼠标.pt.y) 标签1.标题 = 到文本 (鼠标.pt.x) + “,” + 到文本 (鼠标.pt.y) 标签2.标题 = “当前鼠标所在窗口的句柄:” + 到文本 (句柄) .判断开始 (参数二 = 513) ' 左键按下 模拟按键 (81, , ) .判断 (参数二 = 519) ' 中键按下 模拟按键 (81, , ) .判断 (参数二 = 516) ' 右键按下 模拟按键 (90, , ) .默认 .判断结束 返回 (CallNextHookEx (鼠标钩子句柄, 参数一, 参数二, 参数三))
卸载鼠标钩子
UnhookWindowsHookEx (鼠标钩子句柄)
教程获取下载:
百度网盘链接:https://pan.baidu.com/s/158ikKVjIwaoF4438MG4fhA
提取码:加QQ群:521068947 群文件下载
资源教程交流①群:521068947
511遇见QQ: 272586593