2010-05-21 63 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();