一起创业网-为互联网创业者服务

c#怎么调用exe程序

在C中调用exe程序,可以使用`System.Diagnostics`命名空间中的`Process`类。以下是一个简单的示例代码,展示了如何启动一个exe程序,并等待其退出:

```csharp

using System;

using System.Diagnostics;

class Program

{

static void Main()

{

// 指定要运行的exe文件路径

string exePath = "C:\\path\\to\\your\\executable.exe";

// 创建一个新的进程实例

Process process = new Process();

// 设置要启动的exe文件路径

process.StartInfo.FileName = exePath;

// 启动进程

process.Start();

// 等待进程退出

process.WaitForExit();

// 获取进程退出码

int exitCode = process.ExitCode;

Console.WriteLine($"进程退出码: {exitCode}");

}

}

```

在这个示例中,我们首先指定了要运行的exe文件的路径,然后创建了一个新的`Process`实例,并将要启动的exe文件的路径设置为`StartInfo.FileName`属性。接着调用`Start()`方法启动进程,并使用`WaitForExit()`方法等待进程退出。最后,我们获取并打印进程的退出码,这可以用于判断程序是否成功执行。

如果需要向exe程序传递参数,可以将参数添加到`StartInfo.Arguments`属性中,多个参数使用空格分隔。例如:

```csharp

process.StartInfo.Arguments = "arg1 arg2 arg3";

```

此外,还可以设置其他`StartInfo`属性,如`UseShellExecute`、`RedirectStandardInput`、`RedirectStandardOutput`和`RedirectStandardError`,以便更好地控制进程的输入输出行为。例如,如果需要将exe程序的输出重定向到C中的字符串,可以设置`RedirectStandardOutput`为`true`,并使用`process.StandardOutput.ReadToEnd()`方法读取输出内容。

```csharp

process.StartInfo.RedirectStandardOutput = true;

string output = process.StandardOutput.ReadToEnd();

Console.WriteLine(output);

```

通过这些方法,你可以在C中方便地调用并控制外部exe程序的执行。