微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将从 GUI 接收到的变量乘以一个数字?

如何解决如何将从 GUI 接收到的变量乘以一个数字?

我正在尝试在 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,但是弹出如下错误

enter image description here

我该怎么做才能解决这个问题?(不会发生延迟,并且消息会立即被发送垃圾邮件,没有任何延迟) 我已经厌倦了制作另一个可以相乘的变量,但我不知道变量如何在 autohotkey 中工作

提前致谢

解决方法

当使用以数字作为输入的命令时(如 Sleep,您不需要将数字变量括在括号中,如 %var%(与 {{1} 之类的命令相反)需要一个文本输入,你需要这样做才能消除歧义)

因此,您可以删除 SendInterval 变量周围的括号,从而得到 Sleep,%Interval% * 1000


最终代码:

Sleep,Interval * 1000

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。