当前位置:编程学习 > C#/ASP.NET >>

如何获取调用命令的输出结果?

我知道在C#中可以用Process:
Process.StartInfo.RedirectStandardError = true;
Process.StartInfo.RedirectStandardOutput = true;
Process.StartInfo.UserName = null;
Process.EnableRaisingEvents = true;
Process.OutputDataReceived += new DataReceivedEventHandler(OnOutputDataReceived);
Process.ErrorDataReceived += new DataReceivedEventHandler(OnErrorDataReceived);
Process.Exited += new EventHandler(OnExited);

但是对于有些输出就不起作用。比如ImageX可以加一个/Scroll开关,这样输出很容易捕获。


但像Dism这样的命令,它没有/Scroll开关,它的输出都在一行上:

这时候OutputDataReceived事件根本不会触发,请问各位老大,这种情况应该怎样去捕获进度? C#获取 调用 命令的输出结果? C# 捕获 输出 命令 --------------------编程问答-------------------- 对Dism这种情况,OutputDataReceived只能捕捉到图片上的倒数第四行:Saving Image,然后就是完成之后Successfully,中间的进度全都没有。 --------------------编程问答-------------------- http://msdn.microsoft.com/zh-cn/library/vstudio/system.diagnostics.process.standardoutput(v=vs.100).aspx --------------------编程问答-------------------- 谢谢楼上。不过你没好好看我的问题,这文章我早看过了,跟我现在的方法一样。只能针对有输出重定向的,如果对方的输出不支持重定向就没方法了。 --------------------编程问答-------------------- 我自己解决了,给大家分享一下:
http://blog.csdn.net/thy38/article/details/9837453
补充:.NET技术 ,  .NET Framework
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,