按名称获取正在运行的进程的路径

Pow*_*fet 7 c# .net-2.0

如何通过名称获取正在运行的进程的路径?例如,我知道有一个名为"notepad"的进程正在运行,我希望得到它的路径.如何在不循环所有其他进程的情况下获取路径?

不是这样的!

using System.Diagnostics;

foreach (Process PPath in Process.GetProcesses())
{
    if (PPath.ProcessName.ToString() == "notepad")
    {
        string fullpath = PPath.MainModule.FileName;
        Console.WriteLine(fullpath);
    }
}
Run Code Online (Sandbox Code Playgroud)

Fis*_*rdo 8

尝试使用此方法的GetProcessesByName方法:

public string GetProcessPath(string name)
{
    Process[] processes = Process.GetProcessesByName(name);

    if (processes.Length > 0)
    {
        return processes[0].MainModule.FileName;
    }
    else
    {
        return string.Empty;
    }
}
Run Code Online (Sandbox Code Playgroud)

但请记住,多个进程可以具有相同的名称,因此您仍可能需要进行一些挖掘.我只是总是在这里回到第一个路径.