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

6

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

2个回答

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

2
尽管相对文件路径只有在当前工作目录未更改时才能起作用... - David Rogers
如何将参数传递给它并异步调用它? - Jitendra Pancholi

3

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

如果您需要从stdout和stderr读取,那就会变得棘手(使用天真的实现存在由于缓冲等原因导致死锁的风险)...这里是使用工作线程的示例。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接