SendInput 无法高速工作
SendInput won't work at high speed
我做了一个快捷方式说 "alt j" 向左箭头,像这样:
!j::SendInput,{LEFT}
这很好用,除非我按住 "alt j" 的时间太长。它在大多数时间都可以正常工作,但偶尔会在我前进的路径周围掉落 "j"s。说 i Wanna go one letter at a time,通过这句话:
"Hello world"
它很可能会变成这样:
"jHeljjlo jworljd"
有没有办法在每次击键时设置一个微小的延迟以使其能够跟上?或者这个问题是否与必须设置的默认延迟有关?
感谢您的帮助!
所以这对您来说仍然是个问题?
在我看来,最有可能是 AutoHotkey 错误,或者错误地发送了 j
s 因为你的 RAM 不能很好地处理繁重的程序。
我能想到的你可以尝试的事情:
买一台更好的电脑。
使用 setBatchLines, 1ms
,使您的脚本每毫秒休眠 20 毫秒,因此消耗更少 cpu。这可能会清除 AutoHotkey 的想法。
SetKeyDelay, 50
也可能有帮助。
有时,按下 ctrl
或 alt
等修饰符会大大减慢 windows 的速度。至少在 Windows Vista 下是这样。所以你可能想去掉 !
(alt) 而坚持使用 j
:下面的脚本被 !j
激活并且行为就像你的初始脚本一样,但也会保持运行一旦你松开ALT,只要按下J:
!j::
sendInput {left}
hotkey, *j, sendLeft, ON
hotkey, *j up, stopSendLeft, ON
return
sendLeft:
send {left}
return
stopSendLeft:
hotkey, *j, sendLeft, OFF
hotkey, *j up, stopSendLeft, OFF
return
不过,我并不抱太大希望能对您有所帮助。
我做了一个快捷方式说 "alt j" 向左箭头,像这样:
!j::SendInput,{LEFT}
这很好用,除非我按住 "alt j" 的时间太长。它在大多数时间都可以正常工作,但偶尔会在我前进的路径周围掉落 "j"s。说 i Wanna go one letter at a time,通过这句话:
"Hello world"
它很可能会变成这样:
"jHeljjlo jworljd"
有没有办法在每次击键时设置一个微小的延迟以使其能够跟上?或者这个问题是否与必须设置的默认延迟有关?
感谢您的帮助!
所以这对您来说仍然是个问题?
在我看来,最有可能是 AutoHotkey 错误,或者错误地发送了 j
s 因为你的 RAM 不能很好地处理繁重的程序。
我能想到的你可以尝试的事情:
买一台更好的电脑。
使用
setBatchLines, 1ms
,使您的脚本每毫秒休眠 20 毫秒,因此消耗更少 cpu。这可能会清除 AutoHotkey 的想法。SetKeyDelay, 50
也可能有帮助。
有时,按下 ctrl
或 alt
等修饰符会大大减慢 windows 的速度。至少在 Windows Vista 下是这样。所以你可能想去掉 !
(alt) 而坚持使用 j
:下面的脚本被 !j
激活并且行为就像你的初始脚本一样,但也会保持运行一旦你松开ALT,只要按下J:
!j::
sendInput {left}
hotkey, *j, sendLeft, ON
hotkey, *j up, stopSendLeft, ON
return
sendLeft:
send {left}
return
stopSendLeft:
hotkey, *j, sendLeft, OFF
hotkey, *j up, stopSendLeft, OFF
return
不过,我并不抱太大希望能对您有所帮助。