问题描述
我正在尝试在 AutoHotKey 中制作一个非常简单的垃圾邮件发送器(只是为了和朋友一起玩)
(我最近才发现 autohotkey,我对编码非常了解,所以欢迎任何反馈/改进,谢谢)
这是迄今为止的代码
#SingleInstance force
^6::
Gui,Add,Text,W200 +Center,"Message"
Gui,Edit,W200 vTextt
Gui,"Number Of Messages"
Gui,W200 vLooop
Gui,"Interval Between Messages"
Gui,W200 vInterval
Gui,Button,W200 gStart,Start Auto Spamming
Gui,Show
Return
Start:
Gui,Submit
Sleep,5000
Loop,%Looop%
{
Send,%Textt%
Sleep,%Interval% * 1000
Send,{Enter}
}
Gui,Destroy
Return
esc::exitapp
它工作正常,直到
Sleep,%Interval% * 1000
这一行
当我运行脚本时,它会提示我正确的 Gui 对于 vTextt 我放入了我的文本 对于 vLooop,我输入了循环数 对于 vInterval,我输入了 1(如 1 秒)(每条消息之间的延迟)
但是在 AutoHotKey 中 1 秒必须写为 1000(至少我是这样做的)
所以我在Sleep命令中将变量(vInterval)乘以1000,但是弹出如下错误
我该怎么做才能解决这个问题?(不会发生延迟,并且消息会立即被发送垃圾邮件,没有任何延迟) 我已经厌倦了制作另一个可以相乘的变量,但我不知道变量如何在 autohotkey 中工作
提前致谢
解决方法
当使用以数字作为输入的命令时(如 Sleep
,您不需要将数字变量括在括号中,如 %var%
(与 {{1} 之类的命令相反)需要一个文本输入,你需要这样做才能消除歧义)
因此,您可以删除 Send
中 Interval
变量周围的括号,从而得到 Sleep,%Interval% * 1000
最终代码:
Sleep,Interval * 1000