精易论坛

标题: 《超级_延时_热键》 在延时里面加入热键功能 [打印本页]

作者: shituo    时间: 2024-5-18 00:43
标题: 《超级_延时_热键》 在延时里面加入热键功能
本帖最后由 shituo 于 2024-5-18 00:46 编辑

由于键盘钩子被杀软报毒非常严重
所以我开发了这个不报毒
  
子程序名返回值类型公开备 注
超级_延时_热键 不建议在线程中使用 不占用cpu,窗口不卡死,不影响其它代码执行
参数名类 型参考可空数组备 注
延时间隔整数型单位 毫秒 1000毫秒 = 1秒  
响应事件子程序指针
键代码字节型可以是功能键或者普通的键
组合键代码字节型可空  可以是功能键或者普通的键
事件参数1整数型
事件参数2整数型
事件参数3整数型
变量名类 型静态数组备 注
局_时间句柄整数型 
局_时间长整数型 
是否按下逻辑型 
按键状态整数型 
按键状态1整数型 
组合键状态整数型 
局_时间 = _MUI (延时间隔, -10000)  ' 时间隔 × -10000
局_时间句柄 = CreateWaitableTimerA (0, 假, 0)
SetWaitableTimer2 (局_时间句柄, 局_时间, 0, 0, 0, )
判断循环首 (MsgWaitForMultipleObjects (1, 局_时间句柄, 真, 10, 255) ≠ 0)
按键状态 = _And (GetKeyState (键代码), 32768)  ' _判断按键状态 (
判断 (按键状态 ≠ 0)  ' 或
' 调试输出 (按键状态, 位与 (按键状态, 32768))
如果 (组合键代码 > 0)
如果真 (是否按下 = )
'  调试输出 (组合键代码, 是否按下)
组合键状态 = _And (GetKeyState (组合键代码), 32768)  ' _取虚拟键状态 (组合键代码)
如果真 (组合键状态 ≠ 0)
是否按下 = 真


如果真 (是否按下 = )
是否按下 = 真

' 是否按下 = 假
' 执行子程序 (响应事件, 事件参数1, 事件参数2, 事件参数3)
判断 (组合键代码 > 0 是否按下 = )
组合键状态 = _And (GetKeyState (组合键代码), 32768)  ' _判断按键状态 (
判断 (组合键状态 ≠ 0)
组合键状态 = _And (GetKeyState (键代码), 32768)  ' _取虚拟键状态 (组合键代码)
如果真 (组合键状态 ≠ 0)
是否按下 = 真




判断 (是否按下)
是否按下 = 假
如果真 (组合键代码 ≠ 0)
如果真 (组合键代码 > 0 组合键状态 ≠ 0)
执行子程序 (响应事件, 事件参数1, 事件参数2, 事件参数3)
到循环尾 ()
' 调试输出 (2, 按键状态)
执行子程序 (响应事件, 事件参数1, 事件参数2, 事件参数3)
' 处理事件 ()



判断循环尾 ()
' SleepEx (1, )  ' 需要Alert线程
_关闭句柄_CloseHandle (局_时间句柄)


作者: bianyuan456    时间: 2024-5-18 01:49
已经顶贴,感谢您对论坛的支持!
作者: 97134784    时间: 2024-5-18 02:16
正好需要
作者: fire9    时间: 2024-5-18 04:35
看一下         
作者: q72    时间: 2024-5-18 04:36
好多子程序没有啊
作者: shuya1    时间: 2024-5-18 04:40
感谢分享,很给力!~
作者: 查过    时间: 2024-5-18 07:22
感谢发布原创作品,精易因你更精彩!6666666666666
作者: 豆豆灰常开心    时间: 2024-5-18 07:27
感谢您对论坛的支持!
作者: xjshuaishuai    时间: 2024-5-18 07:43
谢谢分享!
作者: 一指温柔    时间: 2024-5-18 08:46
感谢分享,很给力!~
作者: SSS777    时间: 2024-5-18 09:03
Dll命令都没给补上,测试不了
作者: kiss0459    时间: 2024-5-18 09:12
《超级_延时_热键》 在延时里面加入热键功能
作者: kyo9766    时间: 2024-5-18 09:22
想法很新颖,感谢分享
作者: kiss0459    时间: 2024-5-18 09:31
《超级_延时_热键》 在延时里面加入热键功能
作者: kiss0459    时间: 2024-5-18 09:37
《超级_延时_热键》 在延时里面加入热键功能
作者: 美味萝卜    时间: 2024-5-18 09:37
《超级_延时_热键》 在延时里面加入热键功能
作者: ZHuanR    时间: 2024-5-18 10:52
新技能已get√
作者: year1970    时间: 2024-5-18 14:47
感谢分享
作者: zlxngh    时间: 2024-5-18 20:03
感谢分享
作者: ttggnn    时间: 2024-5-18 21:11
支持开源~!感谢分享
作者: jysoft2022    时间: 2024-5-18 23:00
谢谢分享
作者: 艾玛克138    时间: 2024-5-18 23:09
感谢楼主无私奉献
作者: youya    时间: 2024-5-19 01:06
感谢大佬分享
作者: cy2xy    时间: 2024-5-19 02:03
感谢分享,下来研究看看······
作者: 查过    时间: 2024-5-19 07:33
感谢楼主分享!
作者: 豆豆灰常开心    时间: 2024-5-19 07:37
感谢分享,很给力!~
作者: hjinpwhe1    时间: 2024-5-19 11:48
感谢分享,很给力!~ 感谢分享,很给力!~ 感谢分享,很给力!~ 感谢分享,很给力!~ 感谢分享,很给力!~ 感谢分享,很给力!~ 感谢分享,很给力!~
作者: lqylbh    时间: 2024-5-19 18:33
感谢分享,很给力!~
作者: 要强不要秃    时间: 2024-5-19 23:53
感谢分享,很给力!~
作者: 查过    时间: 2024-5-20 07:42
感谢楼主分享!
作者: 豆豆灰常开心    时间: 2024-5-20 07:47
感谢发布原创作品,精易因你更精彩!6666666666666
作者: kmskik    时间: 2024-5-20 10:07
_AND 和_MUI代码是什么啊
作者: shituo    时间: 2024-5-20 11:16
kmskik 发表于 2024-5-20 10:07
_AND 和_MUI代码是什么啊

位与 和 相乘 阿
作者: 小磊88    时间: 2024-5-20 12:04
很实用,就喜欢这样的资料。
作者: hjinpwhe1    时间: 2024-5-20 14:14
大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬
作者: kmskik    时间: 2024-5-20 14:23
请问这个和死循环里判断按键状态有区别吗?
然后只能调用一次这个命令是吧
作者: hjinpwhe1    时间: 2024-5-20 14:25
大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬大佬
作者: yuxuanju    时间: 2024-5-20 17:59
谢谢分享,下载学习。
作者: shituo    时间: 2024-5-20 22:15
kmskik 发表于 2024-5-20 14:23
请问这个和死循环里判断按键状态有区别吗?
然后只能调用一次这个命令是吧 ...

你想多次调用就复制一行就行了
作者: 396384183    时间: 2024-5-21 09:42
感谢分享学习下载。
作者: dujiantao856    时间: 2024-5-22 08:48
精易里面 程序 延时 改的 谢谢
作者: 光影魔术    时间: 2024-5-22 08:50
感谢分享源码
作者: qq977352880    时间: 2024-5-22 20:30
期待更多类似的好,支持你!

作者: li609545570    时间: 2024-5-26 18:40
模拟按键可以用到
作者: kmskik    时间: 2024-5-28 09:23
shituo 发表于 2024-5-20 22:15
你想多次调用就复制一行就行了

能教下吗?比如我想按f1 执行子程序1,F2执行子程序2,F3执行子程序3,谢谢

作者: dulang    时间: 2024-6-16 10:29
感谢分享,很给力!~
作者: ctry78985    时间: 2024-6-19 14:33
感谢分享
作者: Av0x    时间: 2024-6-21 21:18
能在任何地方使用麽
作者: 鬼客    时间: 2024-7-10 23:51
感谢分享




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4