易语言API热键监控实例
在用易语言编写软件或者游戏辅助的时候,经常用到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(,“CloseHandle”,1,winapi(,“CreateThread”,1,0,0,&HotKeyProc,0,0,取址(ThreadId))) .如果真结束 .判断循环首(KeyData[计次].Reg=假) winapi(,“PostThreadMessageA”,1,ThreadId,57521,0,0) winapi(,“Sleep”,1,1) .判断循环尾() Working=假 .如果真(KeyData[计次].Retn=假) 删除成员(KeyData,计次,) 返回(0) .如果真结束 返回(KeyData[计次].KeyID)
以上代码大家可以用易语言测试下。