2011-10-03 102 views
0

我有一个用C编写的.exe文件。它是一个命令行应用程序。我想给命令行,并通过C#应用程序在此应用程序中获得相应的输出。如何从C#调用C .exe文件?

如何调用该命令并从C#中获取输出?

+0

我不知道这个问题以前有多少次被问过。 http://stackoverflow.com/questions/2833171/call-exe-program-in-c – Raghu

回答

4

你可以使用Process.Start方法:

class Program 
{ 
    static void Main() 
    { 
     var psi = new ProcessStartInfo 
     { 
      FileName = @"c:\work\test.exe", 
      Arguments = @"param1 param2", 
      UseShellExecute = false, 
      RedirectStandardOutput = true, 
     }; 
     var process = Process.Start(psi); 
     if (process.WaitForExit((int)TimeSpan.FromSeconds(10).TotalMilliseconds)) 
     { 
      var result = process.StandardOutput.ReadToEnd(); 
      Console.WriteLine(result); 
     } 
    } 
} 
+0

感谢您的评论 – hmlasnk

1

您需要使用Process.Start method

您提供它与您的进程的名称和任何命令行参数,它将运行可执行文件。

您可以捕获您可以在C#应用程序中处理的任何输出。