在用易语言编写软件或者游戏辅助的时候,经常用到API热键监控这个功能,我们在下面分享给大家实例代码,直接复制可以测试下。
AIP热键监控
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
.版本 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) |
以上代码大家可以用易语言测试下。