C#通过cmd.exe调用其他程序.exe方法,并显示cmd的窗口
时间: 2024-10-09 12:14:16 浏览: 60
在C#中,你可以使用Process类来从控制台应用程序(cmd.exe)启动另一个可执行文件(.exe),并控制它的运行过程。下面是一个简单的示例,展示如何创建一个新的进程并显示cmd窗口:
```csharp
using System.Diagnostics;
public void RunExe(string exePath, string arguments = "")
{
// 创建新的进程
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "cmd.exe"; // 指定要运行的命令行程序
psi.Arguments = $"/c {exePath} {arguments}"; // 如果有参数,添加到命令行中
// 使用RedirectStandardOutput和RedirectStandardError设置输出重定向,以便接收结果
psi.RedirectStandardInput = true;
psi.RedirectStandardOutput = true;
psi.UseShellExecute = false; // 禁止打开新外壳窗口
// 创建进程实例并开始执行
using (Process process = new Process())
{
process.StartInfo = psi;
process.Start();
// 如果需要,可以读取输出
// Console.WriteLine(process.StandardOutput.ReadToEnd());
// 错误处理也可以类似
// Console.WriteLine(process.StandardError.ReadToEnd());
// 等待进程完成
process.WaitForExit();
}
}
```
在这个例子中,`RunExe`函数接受一个可执行文件路径和可选的参数。当调用这个函数时,它会启动一个新的cmd进程,执行指定的.exe程序。
阅读全文