C# – 如何调用添加到项目解决方案中的exe

所以我在项目的解决方案中添加了一个EXE。 EXE通过stdout执行一些操作并输出数据。 我想捕获输出,但更重要的是如何在我的程序中执行EXE?

Process p = new Process(); p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.FileName = "myExec.exe"; p.Start(); 

Process.Start 。 要捕获stdout,您需要通过ProcessStartInfo重定向它 – 在MSDN上有一个示例。 还要确保将exe标记为要复制到输出目录(bin / release等)。

如果你需要从stdout和stderr读取它会变得棘手(有一个天真的实现,由于缓冲等存在死锁的风险)… 这是一个使用工作线程的例子。