所以我在项目的解决方案中添加了一个EXE。 EXE通过stdout执行一些操作并输出数据。我想捕获输出,但更重要的是如何在我的程序中执行EXE?
答案 0 :(得分:7)
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "myExec.exe";
p.Start();
答案 1 :(得分:3)
Process.Start
。要捕获标准输出,您需要通过ProcessStartInfo
重定向它 - MSDN上有一个示例。还要确保将exe标记为要复制到输出目录(bin / release等)。
如果你需要从stdout和stderr中读取它会变得棘手(使用简单的实现会因缓冲而导致死锁等)... here's使用工作线程的示例。