当我尝试使用Do Loop时退出

Ene*_*cus 1 vbscript

我一直在尝试使用Do Loop,但由于某些原因,当代码遇到do loop命令时,它就会退出.它甚至没有给我任何错误.在此语句之后有大量脚本,但它不会被处理和执行.有没有我可以使用的替代方法,或者我只是做错了?

Do while b = vbRetry
msgbox "Remote Keyboard Control accepted from ip 346.195.639.63"
msgbox "Attempting to Block Connection..."
b = msgbox("Could not block connection.", vbCritical+vbAbortRetryIgnore+vbSystemModal)
Loop
Run Code Online (Sandbox Code Playgroud)

Die*_*ego 5

问题是由于您没有b正确初始化.该while语句的第一件事就是评估循环条件.在您的情况下,会发生以下情况:
- b未定义.
- b等于vbRetry?不,让我们停止循环(甚至在开始之前).

由于您需要至少循环一次,因此您应该按如下方式重写脚本:

Do 
  msgbox "Remote Keyboard Control accepted from ip 346.195.639.63"
  msgbox "Attempting to Block Connection..."
  b = msgbox("Could not block connection.", vbCritical+vbAbortRetryIgnore+vbSystemModal)
Loop while b = vbRetry
Run Code Online (Sandbox Code Playgroud)

这意味着"至少循环一次,然后检查b是否等于vbRetry".

请注意,我不是100%确定语法是否正确,我有一段时间没有使用过vbScript(没有双关语).