Vbscript WScript.Sleep和window.timeout的备选方案

Vbscript WScript.Sleep和window.timeout的备选方案,vbscript,Vbscript,我正在为在不支持WScript的工业控制器上运行的应用程序编写VBScript。控制器有一个用于处理VBScript的线程,我只需要暂停脚本几次程序扫描,以允许另一个事件处理程序进行处理。VBScript在WSH shell中处理。如果我运行一个MsgBox并弹出一条消息,它会释放脚本来执行它需要做的事情,并且一切正常,但我不能弹出一个消息框 我所读到的所有内容都建议使用WScript.Sleep,但这对我来说是不可用的 这不会在web浏览器中运行,因此window.timeout对象不可用。

我正在为在不支持
WScript
的工业控制器上运行的应用程序编写VBScript。控制器有一个用于处理VBScript的线程,我只需要暂停脚本几次程序扫描,以允许另一个事件处理程序进行处理。VBScript在WSH shell中处理。如果我运行一个
MsgBox
并弹出一条消息,它会释放脚本来执行它需要做的事情,并且一切正常,但我不能弹出一个消息框

我所读到的所有内容都建议使用
WScript.Sleep
,但这对我来说是不可用的

这不会在web浏览器中运行,因此window.timeout对象不可用。
我无法访问WScript.Sleep,因此这不是一个选项。

如果秒的粒度对您来说足够精细,并且您的操作系统是Windows Vista或更高版本,您可以将此脚本作为如何等待三秒的示例:

MsgBox (Now()), , "1"
WScript.CreateObject("WSCript.shell").Run "timeout.exe /T 3", 0, True
MsgBox (Now()), , "2"

你能不能把你的代码替换成由定时器触发的代码(setInterval),我想它包含一个无休止的循环?这不是一个无休止的循环。我有一个activex对象,可以在控制器之间移动文件。我调用它的一个方法来移动文件。它返回true或false,表示它已完成。同时,它通过事件处理程序返回一条字符串消息。运行此方法后,下一行代码需要等待,直到填充此字符串,但如果使用循环监视该字符串的长度,则会阻碍事件处理程序的处理。我发现,如果我弹出一个消息框,它将允许它运行,因此当我关闭该框时,我的代码将正确执行。执行脚本的环境是什么?浏览器、Windows脚本主机或其他什么?如果还有其他功能,请命名该软件。如果您检查运行脚本的环境的API,您可能会发现它提供了相当于sleep()或doEvents()的功能。该软件是Indusoft,应用程序运行在Windows 7 embedded pro上。软件在WSH外壳内运行vbscript,但它们不提供对WSScript的访问。有关使用ping的替代方法,请参阅。我无法使用WScript.shell,因为我的应用程序无权访问它。我真的需要它在毫秒而不是秒内发生。