在c#中,我使用以下代码:
Process[] processes = Process.GetProcesses("firefox.exe");
Console.WriteLine(processes.Length);
结果是:
InvalidOperationException:无法连接到远程计算机。
注意:
有关为什么我会收到此错误以及如何解决此问题的任何想法?
答案 0 :(得分:3)
根据http://msdn.microsoft.com/en-us/library/x8b2hzk8.aspx,此调用尝试连接到计算机名“firefox.exe”并从那里检索进程,因此异常。
编辑:
假设您想在本地计算机上找到所有“firefox.exe”进程
List<Process> ListOfFireFox = new List<Preocess>();
foreach (P in Process.GetProcesses())
{
if ( P.ProcessName.ToLower() == "firefox.exe" )
ListOfFireFox.Add (P);
};
Console.WriteLine(ListOfFireFox.Count);
答案 1 :(得分:2)
您认为您正在指定进程名称,但实际上是在指定计算机名称。
Process[] Process.GetProcesses(string machineName);
希望这有帮助, 约翰
答案 2 :(得分:2)
尝试以下代码
Process[] processes = Process.GetProcessByName("firefox.exe");
Console.WriteLine(processes.Length);
答案 3 :(得分:-1)
删除.exe
Process process = Process.GetProcess("firefox");