文章目录[隐藏]
通过截获全局键盘钩子当按下键盘A键时,同时按下E键,S键,D键,来实现游戏的控制,这样我们只需要按下一个A键就能同时实现多个按键的功能,提供游戏按键效率,安装钩子卸载钩子,和键盘钩子回调函数和上节课几乎相同。其实并不建议使用全局的键盘,鼠标钩子,因为全局的键盘鼠标钩子占用系统资源非常厉害,推荐使用线程钩子来实现。
KBDLLHOOKSTRUCT结构体
.版本 2 .数据类型 KBDLLHOOKSTRUCT .成员 vkCode, 整数型, , , 指定虚拟键值 .成员 scanCode, 整数型, , , 指定键的硬件扫描码。 .成员 flags, 整数型, , , 事件注入标志 .成员 time, 整数型, , , 事件注入时间 .成员 dwExtraInfo, 整数型, , , 额外的信息
安装键盘钩子
键盘钩子 = SetWindowsHookExA (13, &游戏实战, GetModuleHandleA (0), 0)
键盘钩子回调函数
.版本 2 .支持库 eAPI .子程序 游戏实战, 整数型, , 键盘钩子回调函数 .参数 ncode, 整数型, , 0 .参数 wparam, 整数型, , 按键状态 .参数 lparam, 整数型, , 结构指针 .局部变量 按键信息, KBDLLHOOKSTRUCT CopyMemory (按键信息, lparam, 28) ' 检测系统全局键盘的按下状态 .如果真 (ncode = 0) .判断开始 (wparam = 256) ' 只按下一个键就启动所有的技能键 .判断开始 (按键信息.vkCode = #A键) 模拟按键 (#E键, #S键, #D键) .默认 .判断结束 .判断 (wparam = 257) ' 写键盘弹起的一些辅助代码和动作 .默认 .判断结束 .如果真结束 返回 (CallNextHookEx (键盘钩子, ncode, wparam, lparam))
卸载键盘钩子
UnhookWindowsHookEx (键盘钩子)
教程获取下载:
百度网盘链接:https://pan.baidu.com/s/158ikKVjIwaoF4438MG4fhA
提取码:加QQ群:521068947 群文件下载
资源教程交流①群:521068947
511遇见QQ: 272586593