Vbscript 尝试使用Do循环时退出

Vbscript 尝试使用Do循环时退出,vbscript,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("C

我一直在尝试使用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

问题是由于您没有正确初始化
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
这意味着“至少循环一次,然后检查b是否等于vbRetry”


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

问题是因为您没有正确初始化
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
这意味着“至少循环一次,然后检查b是否等于vbRetry”

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