2017-02-01 2 views
0

Jede Art von Benutzereingabe reicht aus. Hier ist der Code, den ich bisher habe.Wie kann ich eine Do-Schleife nach einer Benutzereingabe beenden?

Set WshShell = WScript.CreateObject("WScript.Shell") 

Dim Account 
Account = 111111 
WScript.Sleep 5000 

Do 
WScript.Sleep 400 
WshShell.SendKeys "drill " 
WshShell.SendKeys Account 
WshShell.SendKeys "{ENTER}" 
Account = Account + 1 
Loop 

Im Grunde ist es ein Code guesser (für ein Spiel), und ich möchte in der Lage sein, es Eingang mit jeder Art von Benutzer zu unterbrechen.

Antwort

0

Ich glaube nicht, dass wir eine direkte Lösung haben. Im folgenden Code wird nach 50 Iterationen nach Benutzerinteraktion gesucht. Wenn ja, verlässt die Steuerung die do-Schleife. Sie können mit anderen Möglichkeiten spielen, um die Schleife zu unterbrechen und natürlich können Sie den Zähler nach Ihren Bedürfnissen ändern.

Set WshShell = WScript.CreateObject("WScript.Shell") 
Dim counter 
Dim Account 
Dim msgResult 

counter = 0 
Account = 111111 
WScript.Sleep 5000 

Do 
WScript.Sleep 400 
WshShell.SendKeys "drill " 
WshShell.SendKeys "drill " 
WshShell.SendKeys Account 
WshShell.SendKeys "{ENTER}" 
Account = Account + 1 
If counter = 50 Then 'get user input after 50 iterations 
    msgResult = MsgBox("Do you want to exit?", vbYesNo) 
    If msgResult = vbYes Then 'if yes 
     Exit Do 
    End If 
End If 
counter = counter + 1 
If counter > 101 then 
    counter =0 
End If 
Loop 
Verwandte Themen