AutoHotkey仅用普通Send指令如何保证发送的^与随机数字符连续不拆分
解决方案
核心思路是在执行Send发送两个字符的极短时间内,临时屏蔽物理键盘输入,发送完成后立即恢复输入,既可以保证两个字符连续输出,也不会丢失用户手动输入的内容。
修改后的完整代码
coloured_text: BlockInput, On ; 临时屏蔽物理输入 send {^}%rand% ; 连续发送两个字符 BlockInput, Off ; 立即恢复输入 return ~t:: Random, rand, 1, 3 SetTimer, coloured_text, 500 return ~esc:: ~enter:: SetTimer, coloured_text, Off return
说明
- BlockInput命令只会在发送
^和随机数的几毫秒内屏蔽输入,用户几乎感知不到延迟,也不会出现按键丢失的问题:被屏蔽的按键会存入输入队列,等BlockInput关闭后自动正常输出 - 如果在系统级高权限窗口(如管理员运行的记事本、系统设置界面等)中使用该脚本失效,右键点击脚本文件选择「以管理员身份运行」即可
- 全程仅使用普通Send指令,未更换其他发送模式,符合需求限制
内容的提问来源于stack exchange,提问作者kite
相关产品推荐
相关产品推荐

