使用System.Diagnostics.Process.Start启动进程

时间:2014-03-10 22:08:02

标签: c# .net-3.5 process.start

我正在尝试执行存储在程序文件下的文件。该程序通常从命令提示符调用,并在运行时输出信息。我想捕获输出。

下面的代码解决了一半的工作:程序被执行,控制台弹出控制台显示输出,但我无法捕获输出:

ProcessStartInfo start = new ProcessStartInfo();
start.WorkingDirectory = directory;
start.FileName = fileName;
start.Arguments = arguments;
//start.UseShellExecute = false;
//start.RedirectStandardOutput = true;

using (Process process = Process.Start(start))
{
   // code
}

现在我使用下面的代码来捕获输出:

ProcessStartInfo start = new ProcessStartInfo();
start.WorkingDirectory = directory;
start.FileName = fileName;
start.Arguments = arguments;
start.UseShellExecute = false;
start.RedirectStandardOutput = true;

using (Process process = Process.Start(start))
{
   using (StreamReader reader = process.StandardOutput)
   {
      string result = reader.ReadToEnd();
      Console.Write(result);
   }
}

程序在执行start命令的行中崩溃,错误“系统找不到指定的文件”

我没有得到的是,该计划的第一部分有效,但不是第二部分。

我在这个主题上搜索了很多,有很多建议但是找不到解决我问题的建议。

我使用.NET 3.5作为程序,我更喜欢该程序,因为它与程序的其他部分兼容。

0 个答案:

没有答案