gpt4 book ai didi

c# - 如何捕获EXE文件C#返回的响应

转载 作者:太空宇宙 更新时间:2023-11-03 13:09:15 25 4
gpt4 key购买 nike

我想将param传递给另一个同样由c#开发的exe文件。我知道如何将参数从我的应用程序传递到 exe 文件。这样我就可以将参数传递给exe文件

Process p= new Process();
p.StartInfo.FileName = "demo.exe";
p.StartInfo.Arguments = "param1 param2";
p.Start();
p.WaitForExit();

现在 demo.exe 文件将完成一些工作并返回一些数据。我想在我这边捕获这些数据。因此,请指导我在代码中所做的更改以捕获 demo.exe 文件返回的响应。帮我修改代码。谢谢

可能下面的解决方案可以解决我的问题。我会测试它。当您创建 Process 对象时,适本地设置 StartInfo:

var proc = new Process {
StartInfo = new ProcessStartInfo {
FileName = "program.exe",
Arguments = "command line arguments to your executable",
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
}
};

then start the process and read from it:

proc.Start();
while (!proc.StandardOutput.EndOfStream) {
string line = proc.StandardOutput.ReadLine();
// do something with line
}

最佳答案

一种可能的解决方案是使用 RedirectStandardOutput并将结果存储在文件中:

using(Process proc = new Process())
{
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.FileName = <your exe>;
proc.StartInfo.Arguments = <your parameters>;
proc.StartInfo.RedirectStandardOutput = true;
proc.OutputDataReceived += LogOutputHandler;
proc.Start();
proc.BeginOutputReadLine();
proc.WaitForExit();
}

private static void LogOutputHandler(object proc, DataReceivedEventArgs outLine)
{
<write your result to a file here>
}

关于c# - 如何捕获EXE文件C#返回的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29729249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com