当前位置:  开发笔记 > 编程语言 > 正文

C#如何获得其他批处理文件的输出?

如何解决《C#如何获得其他批处理文件的输出?》经验,为你挑选了1个好方法。

我必须使用其他应用程序(控制台)将一些参数传递给该程序,并在我的C#程序中获取该程序的输出.我不想看到控制台(对用户都是不可见的).我怎样才能做到这一点?



1> Patrick Desj..:
Process myProcess = new Process();
ProcessStartInfo myProcessStartInfo = new ProcessStartInfo("YOUPROGRAM_CONSOLE.exe" );
myProcessStartInfo.UseShellExecute = false;
myProcessStartInfo.RedirectStandardOutput = true;
myProcess.StartInfo = myProcessStartInfo;
myProcess.Start();

StreamReader myStreamReader = myProcess.StandardOutput;
string myString = myStreamReader.ReadLine();
Console.WriteLine(myString);
myProcess.Close();

资料来源:MSDN

编辑:如果您需要获取错误消息,则需要使用异步操作.您可以使用异步读取操作来避免这些依赖关系及其死锁潜力.或者,您可以通过创建两个线程并在单独的线程上读取每个流的输出来避免死锁条件.

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有