在用易語言編寫軟件或者游戲輔助的時候,經(jīng)常用到API熱鍵監(jiān)控這個功能,我們在下面分享給大家實例代碼,直接復(fù)制可以測試下。
AIP熱鍵監(jiān)控
.版本 2.支持庫 JY.子程序 監(jiān)視熱鍵2, 整數(shù)型, 公開, 成功返回?zé)徭IID,失敗返回0。.參數(shù) 響應(yīng)子程序, 子程序指針, , 熱鍵被按下時要觸發(fā)的子程序,該回調(diào)函數(shù)可有一個參數(shù)用來接收熱鍵ID。.參數(shù) 鍵代碼, 整數(shù)型, , 可以使用易語言中的鍵代碼常量.參數(shù) 功能鍵碼, 整數(shù)型, 可空, 鍵碼數(shù)值見常量,可多個相加成為組合鍵,留空或為0則表示不使用。.局部變量 計次, 整數(shù)型.局部變量 Data, HotKeyData0.如果真 (鍵代碼 = 0 或 響應(yīng)子程序 = Data.Proc)返回 (0).如果真結(jié)束Data.Proc = 響應(yīng)子程序.計次循環(huán)首 (取數(shù)組成員數(shù) (KeyData), 計次).如果真 (KeyData [計次].vKey [1] = 鍵代碼 且 KeyData [計次].vKey [2] = 功能鍵碼)返回 (KeyData [計次].KeyID).如果真結(jié)束.計次循環(huán)尾 ().判斷循環(huán)首 (Working)winapi (, “Sleep”, 1, 1).判斷循環(huán)尾 ()Working = 真Data.vKey [1] = 鍵代碼Data.vKey [2] = 功能鍵碼計次 = 取數(shù)組成員數(shù) (KeyData).如果 (計次 = 0)Data.KeyID = 100.否則Data.KeyID = KeyData [計次].KeyID + 4.如果結(jié)束計次 = 計次 + 1加入成員 (KeyData, Data).如果真 (ThreadId = 0)winapi (, “Close Handle”, 1, winapi (, “ Create Thread”, 1, 0, 0, &HotKeyProc, 0, 0, 取址 (ThreadId))).如果真結(jié)束.判斷循環(huán)首 (KeyData [計次].Reg = 假)winapi (, “PostThread MessageA ”, 1, ThreadId, 57521, 0, 0)winapi (, “Sleep”, 1, 1).判斷循環(huán)尾 ()Working = 假.如果真 (KeyData [計次].Retn = 假)刪除成員 (KeyData, 計次, )返回 (0).如果真結(jié)束返回 (KeyData [計次].KeyID)
以上代碼大家可以用易語言測試下。
|
新聞熱點
疑難解答