从vbscript获取错误输出

时间:2013-03-25 05:48:04

标签: c# vbscript error-handling

如何在C#中正确获取runnung vbscript的错误输出?

这是我的代码:

System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo = new System.Diagnostics.ProcessStartInfo("cscript");
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;

p.OutputDataReceived += (proc, outLine) => MessageBox.Show(outLine.Data, 
                                                            "Data:", 
                                                            MessageBoxButtons.OK, 
                                                            MessageBoxIcon.Information);
p.ErrorDataReceived += (proc, outLine) => MessageBox.Show(outLine.Data, 
                                                            "error!", 
                                                            MessageBoxButtons.OK, 
                                                            MessageBoxIcon.Error);

p.StartInfo.Arguments = "C:\\test.vbs";

p.Start();

p.BeginOutputReadLine();  

这样我就能从cscript中获取数据,但如果脚本中有错误 - 进程只是关闭,没有消息......

1 个答案:

答案 0 :(得分:1)

糟糕我的错 - 我忘了添加

p.BeginErrorReadLine();

这就是答案