我在 Windows 7 中使用 AutoHotKey 脚本将剪贴板的内容作为一系列击键发送。我对 AutoHotKey 很陌生,但我想知道是否有某种方法可以调整它发送的每次击键之间的时间。目前,我的脚本中的唯一一行如下:
^!k:: Send %clipboard%
我希望能够将击键之间的时间(目前似乎约为每秒 50 个字符)增加到每秒 10 个字符。
我使用它通过终端仿真器将击键发送到微控制器。我遇到的问题是,当我实际手动输入击键时,所有内容都会按预期注册,但是当我将剪贴板内容作为击键发送时,出现问题,我希望尝试减慢输入速度来查明问题。本质上,我想在尝试另一个更复杂的解决方案之前排除输入速度的问题。
如果有人有任何想法,我们将不胜感激。谢谢!
您可以使用此功能
使用
Sendpersec(Clipboard, 10)
或
Sendpersec("jdkfjdkjdfkjdfkjdfkdfjdf", 5)
功能
Sendpersec(Data, Chs){
sleeptime := 1000 / Chs
IfLess,sleeptime,1
sleeptime := 1
loop,
{
StringLeft,tosend,Data,1
Send, %tosend%
sleep,%sleeptime%
StringTrimLeft,Data,Data,1
IfEqual,Data
break
}
}
提高打字速度的一个简单方法是使用
SendInput
而不是 Send
。这会“打字”得更快!或者,您可以将字符串存储在 ClipBoard 中并使用 Send, ^v
发送它。
示例:
Clipboard= Long string to type
Send, ^v
是的,使用
Sleep, DelayInMilliseconds
。例如,每秒 10 次击键,您将使用 100 的延迟
http://www.autohotkey.com/docs/commands/Sleep.htm
编辑:也许您想要这个:
SetKeyDelay [, Delay, PressDuration, Play]
“设置 Send 和 ControlSend 发送的每次击键后将发生的延迟。”
将
SetKeyDelay, 100
添加到脚本顶部的新行(如果您希望字符之间有 100 毫秒的延迟)。
另外,删除自动添加到新脚本中的
SendMode Input
行。
更多信息:
SetKeyDelay 语法:
SetKeyDelay [, Delay, PressDuration, Play]
发送模式信息:
SetKeyDelay
不适用于 SendMode Input
。它确实适用于默认值(未明确定义时),即 SendMode Event
。归功于此答案:
AutoHotKey SetKeyDelay 选项似乎不起作用