如何通过名称获取正在运行的进程的路径?例如,我知道有一个名为“notepad”的进程正在运行,我希望得到它的路径.如何在不循环所有其他进程的情况下获取路径?
不是这样的!
using System.Diagnostics; foreach (Process PPath in Process.GetProcesses()) { if (PPath.ProcessName.ToString() == "notepad") { string fullpath = PPath.MainModule.FileName; Console.WriteLine(fullpath); } }
解决方法
尝试使用此方法,使用
GetProcessesByName
method:
public string GetProcessPath(string name) { Process[] processes = Process.GetProcessesByName(name); if (processes.Length > 0) { return processes[0].MainModule.FileName; } else { return string.Empty; } }
但请记住,多个进程可以具有相同的名称,因此您仍可能需要进行一些挖掘.我只是总是在这里回到第一个路径.