C# 按名称获取正在运行的进程的路径
如何按名称获取正在运行的进程的路径?例如,我知道有一个名为“notepad”的进程正在运行,我想知道它的路径。如何在不循环所有其他进程的情况下获得路径 不是这样C# 按名称获取正在运行的进程的路径,c#,.net-2.0,C#,.net 2.0,如何按名称获取正在运行的进程的路径?例如,我知道有一个名为“notepad”的进程正在运行,我想知道它的路径。如何在不循环所有其他进程的情况下获得路径 不是这样 using System.Diagnostics; foreach (Process PPath in Process.GetProcesses()) { if (PPath.ProcessName.ToString() == "notepad") { string fullpath = PPath.M
using System.Diagnostics;
foreach (Process PPath in Process.GetProcesses())
{
if (PPath.ProcessName.ToString() == "notepad")
{
string fullpath = PPath.MainModule.FileName;
Console.WriteLine(fullpath);
}
}
尝试类似此方法的方法,该方法使用: 但是请记住,多个进程可以具有相同的名称,因此您可能仍然需要进行一些挖掘。我总是在这里返回第一个路径。在.Net 2.0中存在一种方法:
foreach (Process PPath in Process.GetProcessesByName("notepad"))
{
string fullpath = PPath.MainModule.FileName;
Console.WriteLine(fullpath);
}
你可以采取两种方法 您可以按名称执行流程:
Process result = Process.GetProcessesByName( "Notepad.exe" ).FirstOrDefault( );
或者你可以做你所做的,但使用linq
Process element = ( from p in Process.GetProcesses()
where p.ProcessName == "Notepad.exe"
select p ).FirstOrDefault( );
你的意思是(string fullpath=System.Diagnostics.Process.getProcessByName(“记事本”).ToString();)吗?不,我没有。谢谢我修改了我的答案,使它更清楚我的意思。
Process element = ( from p in Process.GetProcesses()
where p.ProcessName == "Notepad.exe"
select p ).FirstOrDefault( );