2010-05-21 59 views
1

我希望能够从C#调用VB脚本,这是easy enough,但我需要能够从这些脚本有时得到结果。我应该使用引用某些东西的方法来回读,还是应该使用其他方法?我发现了一种使用Runspaces和Pipelines从powershell scripts获取数据的方法,但是我对这项技术知之甚少,无法确定它是否也能用于VB脚本。理想情况下,我想做一些类似于PowerShell的方法,我只需传递脚本的内容而无需引用外部文件并获取结果。谁能告诉我如何做到这一点?谢谢。如何取回从C#运行VB脚本的结果?

回答

1

这里是一个非常简单的方式通过听一个事件来做到这一点:

Process vbsProcess = new Process(); 
vbsProcess.StartInfo.FileName = "yourscript.vbs"; 
vbsProcess.StartInfo.UseShellExecute = false; 
vbsProcess.StartInfo.RedirectStandardOutput = true; 
vbsProcess.OutputDataReceived += new DataReceivedEventHandler(YourOutputHandler); 
vbsProcess.Start(); 
vbsProcess.WaitForExit();