Vbscript 如何在按下“时停止循环”;“好的”;在带有VBS的消息框上?

Vbscript 如何在按下“时停止循环”;“好的”;在带有VBS的消息框上?,vbscript,Vbscript,我需要一些帮助。我是VBS的新手,我想为我玩的视频游戏编写一个机器人来输入东西 set sellAllTyping = wscript.CreateObject("WScript.Shell") x= MsgBox ("To stop the bot, click OK. /// Coded by Vncz with a little help from StackOverflow! :^) RIP Yams ;-;",vbOK+vbInformation,"sell all Bot") i

我需要一些帮助。我是VBS的新手,我想为我玩的视频游戏编写一个机器人来输入东西

set sellAllTyping = wscript.CreateObject("WScript.Shell")

x= MsgBox ("To stop the bot, click OK. /// Coded by Vncz with a little help from StackOverflow! :^) RIP Yams ;-;",vbOK+vbInformation,"sell all Bot")

if x=vbOK then 
' *** I don't know what to write here. ***

sellAllTyping.sendkeys "t"
wscript.sleep 1000
sellAllTyping.sendkeys "/sell all"
wscript.sleep 1000
sellAllTyping.sendkeys "{ENTER}"
wscript.sleep 5000
loop

如果我在我调用的消息框上按OK,我想让循环在最底部停止。如果我做得对,我应该写什么代码来代替注释?谢谢

我不知道您使用了哪个循环关键字。使用以下任何一个关键字

如果x=vbOK,则
“退出For/Exit Do/Exit Function”可能会帮助您

不幸的是,msgbox会冻结执行

换句话说,您不能在消息apear和单击“确定”或“取消”之间循环

实现这一点的唯一方法是创建如下HTA文件:

<SCRIPT LANGUAGE="VBScript" src="test.vbs"> </SCRIPT>
<input type='button' value='Start' onclick='startLoop()'>
<input type='button' value='Stop' onclick='stopLoop()'>
set sellAllTyping = CreateObject("Wscript.shell")
loopState = true

sub startLoop()
    do while loopState = true
        msgbox "yeah"
    loop
end sub

sub stopLoop()
    loopState = false
end sub
现在唯一的问题是,由于循环(如果我用sendkeys替换msgbox),应用程序处于冻结状态,或者总是隐藏在msgbox后面

此代码运行良好(具有睡眠功能):


确保将hta文件命名为“something.hta”而不是“something.html”

这很有效,谢谢,伙计!在我入住5天后,我认为这是没有希望的,但我今天回来了。谢谢;)
set sellAllTyping = CreateObject("Wscript.shell")
loopState = true

sub startLoop()
    do while loopState = true
        msgbox "yeah"
        sleep(2)
    loop
end sub

sub stopLoop()
    loopState = false
end sub

Sub sleep (Timesec)
  sellAllTyping.Run "Timeout /T " & Timesec & " /nobreak" ,0 ,true
End Sub