精易论坛

标题: 窗口_监视热键_注册回调函数如何监测CTRL ALT两个键同时按下 [打印本页]

作者: xboy    时间: 2023-10-8 18:06
标题: 窗口_监视热键_注册回调函数如何监测CTRL ALT两个键同时按下

使用精易模块里的窗口_监视热键_注册()函数,例:CTRL+1或者SHIFT+1能正常监测到按键并调用想要执行的代码

CTRL+ALT+1
CTRL+SHIFT+1
CTRL+ALT+SHIFT+1
就不行,回调函数里只会分别监测到2/3个功能键值,请问如何监测这种组合功能按键?或者有其他注册热键函数推荐么,感谢

作者: 大司命    时间: 2023-10-8 18:11

用位与判断即可,以此类推!~

位与 (参_功能键, #Ctrl键状态) ≠ 0
作者: xboy    时间: 2023-10-8 20:35
大司命 发表于 2023-10-8 18:11
用位与判断即可,以此类推!~

位与 (参_功能键, #Ctrl键状态) ≠ 0

用了
位与 (参_功能键, #Ctrl键状态, #Shift键状态)
还是不行啊,大佬?按两个键还是分别显示各个键值17和16
是我理解不对么?
想实现CTRL+SHIFT+1,热键调用,如何判断?
作者: 蛀牙    时间: 2023-10-8 21:49
精易模块源码里的的监视热键实际就是钩子,直接取 键盘钩子取组合键.e (907.32 KB, 下载次数: 41)
作者: 无名霸道    时间: 2023-10-8 22:11
用注册热键()不就行了,还整那么复杂。
作者: xboy    时间: 2023-10-8 23:29
自己解决了,解决办法:
窗口_监视热键_注册()函数 替换成 窗口_热键注册()
这俩都是精易模块里的命令

窗口_监视热键_注册()不能实现2个功能键组合监测

窗口_热键注册()可以实现CTRL+SHIFT+ALT+键值监测

留下自己想到的解决办法,方便后来人观看
还是感谢上面热心回答的大佬
作者: 中医墨笔    时间: 2023-11-24 00:01
我也在找这方面的解决方法,还有,不知道你的ALT键是否能掉出来,精易的可以,我自己改的好像有问题
作者: xboy    时间: 2023-11-24 10:43
中医墨笔 发表于 2023-11-24 00:01
我也在找这方面的解决方法,还有,不知道你的ALT键是否能掉出来,精易的可以,我自己改的好像有问题 ...

自己解决了,改用精易模块的:窗口_热键注册,就能实现CTRL+SHIFT+ALT+快捷键,实现多功能键同时按下




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