易语言通过全局键盘钩子来实现游戏按键控制

通过截获全局键盘钩子当按下键盘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 群文件下载

511遇见全部视频教程百度网盘下载

511遇见易语言DLL制作调用及hook注入

资源教程交流①群:521068947

511遇见QQ: 272586593

分享到:

用微信扫一扫,分享给朋友


发布日期:

所属分类: 编程 标签: