0

如何在 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 获取数据,但是如果脚本中有错误 - 进程只是关闭,没有消息......

4

1 回答 1

1

哎呀。我的错 - 我忘了添加

p.BeginErrorReadLine();

这就是答案

于 2013-03-25T06:01:04.253 回答