C#根据进程名称获取exe文件路径
时间: 2023-10-19 09:22:08 浏览: 47
可以使用System.Diagnostics命名空间下的Process类来获取进程的信息,包括进程的名称和路径。
以下是获取指定进程名称的exe文件路径的示例代码:
```csharp
using System.Diagnostics;
// 获取进程名称为“notepad”的exe文件路径
string processName = "notepad";
Process[] processes = Process.GetProcessesByName(processName);
if (processes.Length > 0)
{
string exePath = processes[0].MainModule.FileName;
Console.WriteLine($"进程名称为“{processName}”的exe文件路径为:{exePath}");
}
else
{
Console.WriteLine($"未找到进程名称为“{processName}”的进程");
}
```
需要注意的是,Process类只能获取当前用户下的进程信息,如果要获取系统中所有进程的信息需要以管理员权限运行程序。
相关问题
C#怎么校验process启动的exe文件是否在运行
你可以使用C#中的Process类的静态方法GetProcessesByName来获取正在运行的指定名称的进程列表,然后检查你要启动的exe文件是否在该列表中。以下是示例代码:
```csharp
using System.Diagnostics;
//...
string fileName = "example.exe"; // 要启动的exe文件名
// 检查是否有同名进程在运行
if (Process.GetProcessesByName(fileName).Length > 0)
{
// 已经有同名进程在运行
Console.WriteLine("该进程已经在运行!");
}
else
{
// 启动新进程
Process.Start(fileName);
}
```
注意,如果你想检查的是指定路径下的exe文件是否在运行,可以使用Process.GetProcesses方法获取所有正在运行的进程,然后遍历该列表,检查进程的MainModule属性的FileName属性是否等于指定的exe文件路径。
C# winfrom窗体 关闭指定路径下别的的exe
可以通过使用System.Diagnostics.Process类来启动和关闭进程。以下是基本代码示例:
```csharp
// 根据进程名称获取进程列表
Process[] processes = Process.GetProcessesByName("进程名称");
// 遍历进程列表
foreach (Process process in processes)
{
// 关闭进程
process.Kill();
}
```
在上面的代码中,将“进程名称”替换为你需要关闭的exe文件的名称即可。注意,这种方法会强制关闭进程,可能会导致数据丢失或其他问题,所以在使用之前需要谨慎考虑。