能否为单个左键绑定循环切换的两个AutoHotkey脚本?
实现鼠标左键循环执行两个不同AutoHotkey脚本的方案
完全可以实现这个需求,以下是具体的脚本代码和核心命令说明:
完整实现脚本
; 初始化点击计数器,用于循环切换执行逻辑 clickCount := 0 ; 绑定鼠标左键,~保留左键默认点击功能 ~LButton:: clickCount++ ; 通过取模运算实现1、2、1、2...的循环切换 if (clickCount % 2 = 1) { ; 第一次点击执行的逻辑(对应原~f::脚本) Send, {p down} KeyWait, LButton ; 等待鼠标左键松开后再释放p键 Send, {p up} Sleep, 899 Send, %var% } else { ; 第二次点击执行的逻辑(已修正原脚本末尾多余的}) Send, {o down} KeyWait, LButton ; 等待鼠标左键松开后再释放o键 Send, {o up} Send, %var% Sleep, 899 Send, %var% } return
核心命令说明
- 自定义变量(如
clickCount):用于记录鼠标左键的点击次数,是实现循环切换逻辑的核心载体 ~LButton:::热键定义,前缀~表示保留鼠标左键的原生功能(比如正常点击窗口、选中内容等),避免绑定后左键失去原有作用KeyWait:等待指定按键(这里是LButton)松开,确保按住左键时对应的p/o键保持按住状态,松开左键后再释放对应按键,还原原脚本的按住触发逻辑Send:模拟键盘按键发送,实现按下/松开p/o键,以及输出变量var的内容Sleep:暂停指定时长(单位:毫秒),控制脚本执行的时序间隔- 取模运算符
%:通过clickCount % 2判断当前是奇数次还是偶数次点击,以此切换执行两个不同的逻辑分支,实现循环往复的效果
内容的提问来源于stack exchange,提问作者Emperror Lich
相关产品推荐
相关产品推荐

