我将一个EXE文件添加到了我的项目解决方案中。这个EXE文件会执行一些操作,并通过stdout输出数据。我想要捕获这个输出,但更重要的是如何在我的程序中执行这个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
。要捕获标准输出,您需要通过ProcessStartInfo
进行重定向-在MSDN上有一个示例。还要确保将exe标记为要复制到输出目录(bin / release等)。
如果您需要从stdout和stderr读取,那就会变得棘手(使用天真的实现存在由于缓冲等原因导致死锁的风险)...这里是使用工作线程的示例。