首先,我们需要知道C#调用EXE文件实现传参和获取返回结果的基本流程。具体流程如下:
1.使用Process类启动外部EXE程序。
2.在ProcessStartInfo对象中设置使用的外部程序、参数和重定向标准输入输出等配置。
3.使用Process类的StandardInput属性向外部程序写入数据。
4.使用Process类的StandardOutput属性读取来自外部程序的输出。
以下是两个简单的示例:
示例1:调用cmd.exe执行命令并获取输出结果
// 创建ProcessStartInfo对象,设置要执行的命令和参数
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C dir"; // 执行dir命令
startInfo.UseShellExecute = false;
startInfo.RedirectStandardInput = true;
startInfo.RedirectStandardOutput = true;
startInfo.CreateNoWindow = true;
// 创建Process对象并启动进程
Process process = new Process();
process.StartInfo = startInfo;
process.Start();
// 向cmd.exe输入数据
process.StandardInput.WriteLine("input command");
process.StandardInput.Flush();
process.StandardInput.Close();
// 读取cmd.exe输出
string output = process.StandardOutput.ReadToEnd();
// 打印输出结果
Console.WriteLine(output);
// 等待进程退出
process.WaitForExit();
示例2:调用自定义的EXE程序并传入参数
// 创建ProcessStartInfo对象,设置要执行的外部程序和参数
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "myexe.exe"; // 设置要执行的程序
startInfo.Arguments = "arg1 arg2 arg3"; // 设置传递给程序的参数
// 启动外部程序
Process process = new Process();
process.StartInfo = startInfo;
process.Start();
process.WaitForExit();
// 获取程序输出
string output = process.StandardOutput.ReadToEnd();
Console.Write(output);
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#调用EXE文件实现传参和获取返回结果 - Python技术站