C# 调用第三方的exe 带参数 ,获取返回值,释放资源
时间: 2024-12-13 17:17:08 浏览: 2
在C#中,调用外部EXE文件并传递参数通常通过`Process`类或者`System.Diagnostics`命名空间下的`ProcessStartInfo`类来实现。以下是基本步骤:
1. 创建`ProcessStartInfo`对象,并设置属性:
```csharp
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "路径到你的.exe"; // 替换为你需要执行的EXE的完整路径
psi.Arguments = "参数1 参数2"; // 这里是你要传递给EXE的参数,可以是一个字符串或数组
psi.UseShellExecute = false; // 如果你想直接调用而不是通过壳程序
psi.RedirectStandardOutput = true; // 打开输出流以便接收返回值
psi.RedirectStandardError = true; // 可选,打开错误流
```
2. 启动进程并处理输出:
```csharp
using (Process process = new Process())
{
process.StartInfo = psi;
process.Start();
// 等待进程完成
process.WaitForExit();
// 获取输出
string output = process.StandardOutput.ReadToEnd(); // 如果是文本信息
byte[] binaryOutput = process.StandardOutput.BaseStream.ToArray(); // 如果是二进制数据
// 错误处理
string error = process.StandardError.ReadToEnd();
// 关闭输入/输出流
process.StandardInput.Close();
process.StandardOutput.Close();
process.StandardError.Close();
}
```
3. 当你完成对EXE的调用后,记得关闭所有的文件描述符(例如上述的`Close()`操作),这是释放资源的关键部分。
阅读全文