📅  最后修改于: 2023-12-03 14:51:50.809000             🧑  作者: Mango
在 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()
方法结束进程。