如何用AutoHotkey实现带默认修饰键的Send,避免冗余组合脚本
解决AutoHotkey修饰键组合映射冗余问题
你可以通过动态检测当前按下的修饰键状态,只写一段代码就能覆盖所有Win+XButton1的修饰键组合,无需逐个编写:
#XButton1:: { ; 初始化修饰符字符串 mod := "" ; 检查Ctrl是否按下,是则添加^前缀 if GetKeyState("Ctrl", "P") mod .= "^" ; 检查Shift是否按下,是则添加+前缀 if GetKeyState("Shift", "P") mod .= "+" ; 检查Alt是否按下,是则添加!前缀 if GetKeyState("Alt", "P") mod .= "!" ; 发送拼接后的组合键 SendInput mod "{Enter}" }
原理说明
GetKeyState("键名", "P"):P参数表示检测物理按键的按下状态,确保准确捕获当前同时按下的修饰键- 动态拼接
^(Ctrl)、+(Shift)、!(Alt)修饰符前缀,最后和{Enter}组合发送,自动对应Win+XButton1加任意修饰键的情况
内容的提问来源于stack exchange,提问作者goweon
相关产品推荐
相关产品推荐

