本地机器上的GetProcesses导致“无法连接到远程机器”

本文关键字:机器 程机器 连接 GetProcesses 导致 | 更新日期: 2023-09-27 18:02:53

在c#中,我使用以下代码:

Process[] processes = Process.GetProcesses("firefox.exe");
Console.WriteLine(processes.Length);

结果是:

InvalidOperationException: could 't connect to remote machine.

指出:

  • 操作系统:Windows 7, 64位
  • 我是而不是试图连接到远程机器。
  • 远程注册表服务设置为Auto并且已启动

关于为什么我得到这个错误以及如何修复它的任何想法?

本地机器上的GetProcesses导致“无法连接到远程机器”

您认为您指定的是进程名,但实际上您指定的是机器名。

Process[] Process.GetProcesses(string machineName);

希望这有帮助,约翰。

根据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);

试试下面的代码

Process[] processes = Process.GetProcessByName("firefox.exe");
Console.WriteLine(processes.Length);

删除。exe

Process process = Process.GetProcess("firefox");