如何在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中获取数据,但如果脚本中有错误 - 进程只是关闭,没有消息......
答案 0 :(得分:1)
糟糕我的错 - 我忘了添加
p.BeginErrorReadLine();
这就是答案