4

我在 Windows 7 中使用 AutoHotKey 脚本将剪贴板的内容作为一系列击键发送。我对 AutoHotKey 很陌生,但我想知道是否有某种方法可以调整它发送的每次击键之间的时间。目前,我的脚本中唯一的一行如下:

^!k:: Send %clipboard%

我希望能够将击键之间的时间(目前似乎大约每秒 50 个字符)增加到每秒 10 个字符。

我正在使用它通过终端仿真器将击键发送到微控制器。我遇到的问题是,当我实际手动输入击键时,所有内容都会按原样注册,但是当我将剪贴板内容作为击键发送时,出现问题,我希望尝试降低输入速度来查明问题。本质上,在尝试另一个更复杂的解决方案之前,我想排除输入速度的问题。

如果有人有任何想法,将不胜感激。谢谢!

4

3 回答 3

5

你可以使用这个功能

使用

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
}
}
于 2013-05-06T11:41:47.910 回答
2

提高打字速度的一种简单方法是SendInput使用Send. 这将更快地“输入”!或者,您可以将字符串存储在剪贴板中并用于Send, ^v发送。

例子:

Clipboard= Long string to type
Send, ^v
于 2013-05-06T05:08:59.137 回答
1

是的,使用Sleep, DelayInMilliseconds. 例如,对于每秒 10 次击键,您将使用 100 的延迟

http://www.autohotkey.com/docs/commands/Sleep.htm

编辑:也许你想要这个:SetKeyDelay [, Delay, PressDuration, Play]“设置发送和控制发送发送的每次击键后将发生的延迟。”

http://www.autohotkey.com/docs/commands/SetKeyDelay.htm

于 2013-05-06T02:36:17.037 回答