查看: 81|回复: 0

[教程] 易语言API热键监控实例

[复制链接]

5

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2012-1-10
发表于 2018-12-9 09:36:00 | 显示全部楼层 |阅读模式

在用易语言编写软件或者游戏辅助的时候,经常用到API热键监控这个功能,我们在下面分享给大家实例代码,直接复制可以测试下。

AIP热键监控

.版本 2
.支持库 JY

.子程序 监视热键2, 整数型, 公开, 成功返回热键ID,失败返回0。
.参数 响应子程序, 子程序指针, , 热键被按下时要触发的子程序,该回调函数可有一个参数用来接收热键ID。
.参数 键代码, 整数型, , 可以使用易语言中的键代码常量
.参数 功能键码, 整数型, 可空, 键码数值见常量,可多个相加成为组合键,留空或为0则表示不使用。
.局部变量 计次, 整数型
.局部变量 Data, HotKeyData0

.如果真 (键代码 = 0 或 响应子程序 = Data.Proc)
返回 (0)
.如果真结束
Data.Proc = 响应子程序
.计次循环首 (取数组成员数 (KeyData), 计次)
.如果真 (KeyData [计次].vKey [1] = 键代码 且 KeyData [计次].vKey [2] = 功能键码)
返回 (KeyData [计次].KeyID)
.如果真结束

.计次循环尾 ()
.判断循环首 (Working)

winapi (, “Sleep”, 1, 1)
.判断循环尾 ()
Working = 真
Data.vKey [1] = 键代码
Data.vKey [2] = 功能键码
计次 = 取数组成员数 (KeyData)
.如果 (计次 = 0)
Data.KeyID = 100
.否则
Data.KeyID = KeyData [计次].KeyID + 4
.如果结束
计次 = 计次 + 1
加入成员 (KeyData, Data)
.如果真 (ThreadId = 0)

winapi (, “Close Handle”, 1, winapi (, “ Create Thread”, 1, 0, 0, &HotKeyProc, 0, 0, 取址 (ThreadId)))

.如果真结束
.判断循环首 (KeyData [计次].Reg = 假)
winapi (, “PostThread MessageA ”, 1, ThreadId, 57521, 0, 0)
winapi (, “Sleep”, 1, 1)
.判断循环尾 ()
Working = 假
.如果真 (KeyData [计次].Retn = 假)
删除成员 (KeyData, 计次, )
返回 (0)
.如果真结束
返回 (KeyData [计次].KeyID)

以上代码大家可以用易语言测试下。

您可能感兴趣的文章:
  • 易语言API助手使用方法
  • 易语言API取文本长度图文讲解
  • 易语言API高级技巧教学
  • 易语言统计代码行数与API的工具
  • 易语言调用API函数监视目录与文件的代码
  • 易语言调用百度文字识别api方法
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部