📜  如何使用 c# 运行外部程序(1)

📅  最后修改于: 2023-12-03 14:51:50.809000             🧑  作者: Mango

如何使用 C# 运行外部程序

在 C# 中,可以使用 Process 类来运行外部程序。 Process.Start() 方法可以启动一个新的进程,并在其中运行指定的外部程序。

准备工作

在开始之前,需要引用 System.Diagnostics 命名空间。可以在代码文件开头添加以下语句:

using System.Diagnostics;
运行外部程序

下面是 Process.Start() 方法的基本语法:

Process.Start("外部程序路径");

其中,外部程序路径 是要运行的外部程序的完整路径。

例如,以下代码可以启动记事本程序(记事本程序位于 Windows 系统目录下):

Process.Start("notepad.exe");
传递命令行参数

如果外部程序需要接受命令行参数,可以将它们作为 Process.Start() 方法的第二个参数传递。多个参数可以用空格分隔。

例如,以下代码可以以管理员权限启动 PowerShell,并执行一个命令:

Process.Start("powershell.exe", "-Command \"Get-Service | Where-Object {$_.Status -eq 'Stopped'} | Start-Service\"");
控制流程

Process.Start() 方法返回一个 Process 对象,该对象可以用于控制新启动的进程。例如,可以等待进程完成后再继续执行代码。

以下是一个示例,可以启动计算器程序(calc.exe),并等待用户关闭它后再继续执行:

Process calcProcess = Process.Start("calc.exe");
calcProcess.WaitForExit();
Console.WriteLine("Calculator exited.");
结束进程

可以使用 Process.Kill() 方法立即结束一个进程。

例如,以下代码可以启动一个服务器程序,然后等待 5 秒钟并强制结束它:

Process serverProcess = Process.Start("server.exe");
Thread.Sleep(5000); // 等待 5 秒钟
serverProcess.Kill();
Console.WriteLine("Server process killed.");
小结

使用 C# 运行外部程序很简单。可以使用 Process.Start() 方法启动外部程序,传递命令行参数以控制程序行为,使用 Process 对象控制进程流程,以及使用 Process.Kill() 方法结束进程。