我有Windows Media编码器附带的脚本的变体。我通过WSH启动它,并将它设置为STDIN,STDOUT和STDERR。有没有办法在VBS中执行非阻塞IO或以某种方式向COM事件发出信号?
该脚本开始编码并最终在DO循环中等待,检查编码对象的状态,以便脚本知道如果编码停止时退出。 (内部循环仅打印一段时间,并休眠约2秒)。
要干净地退出,我想指示脚本停止编码,这将允许它从循环中删除并清理。
我没有(或者一定想)在我们启动脚本的应用程序中实现了一个COM对象 - 否则,我只是触发一个事件。 (我会重新考虑如果这比我想在C++中做的更容易)
我想通过STDIN发送一个字符退出,但问题在于WScript.stdin块的所有方法。 是否有任何非阻塞的方式来从标准输入读取或某种方式来检查字符?
是否有可能在VBS中做一个线程?据我所知,你只能推销其他程序。
我认为当你开始谈论线程和异步I/O时,你已经过去了VBSCRIPT。 – 2009-07-23 12:15:36
同意。我可能在未来的版本中简单地将COM移到C++端。 – 2009-07-23 15:05:01