AutoHotKey while 循环中断

问题描述

$*e::
  While GetKeyState("e","P")
  {
    Send,{Blind}e
    Sleep,10 ; every 10 miliseconds
  }
Return

每次使用 while 循环都会中断并永远发送垃圾邮件,直到我再次按下绑定。

解决方法

尽管我仍然无法复制此问题,但根据 @Charlie Armstrong 提到的内容,如果使用 SendEvent 而不是 SendInput,脚本可能会正常工作。以下修改后的脚本仍会将 SendMode 保留为 Input,但只会覆盖 while 循环内的 Send 语句。

$*e::
  While GetKeyState("e","P")
  {
    SendEvent,{Blind}e
    Sleep,10 ; every 10 miliseconds
  }
Return

有关 SendSendMode 的更多信息可以在 herehere 中找到。