在用易語言編寫軟件或者游戲輔助的時候,經常用到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) |
以上代碼大家可以用易語言測試下。