Что я должен изменить в настройках системы, чтобы
Привет,
я пытаюсь запустить приложение, которое хорошо работает на Win7, но на Win10 вызывает ошибку.
GetProcessesByName с параметром "127.0.0.1| не работает на Win10.
кто-нибудь знает, почему?
static void Main(string[] args) { try { Process[] processesByName = Process.GetProcessesByName("vshost32.exe", "127.0.0.1"); if (processesByName.Length == 0) { Console.WriteLine("false"); } else { Console.WriteLine("true"); } } catch (InvalidOperationException exception) { Console.WriteLine(exception); } Console.ReadLine(); }
ошибка:
DESKTOP-SJPDB4K\Administrator [2020-05-24 18:37:56,286] ERROR - Error checking process status System.InvalidOperationException: Cannot connect to remote machine. ---> System.InvalidOperationException: Cannot read value from counter performance. ---> System.ComponentModel.Win32Exception: Cannot find remote path. w System.Diagnostics.NtProcessManager.GetProcessInfos(String machineName, Boolean isRemoteMachine) w System.Diagnostics.Process.GetProcesses(String machineName) w System.Diagnostics.Process.GetProcessesByName(String processName, String machineName)
Что я уже пробовал:
я пробовал много вещей, таких как
- изменение настроек брандмауэра
- отключение брандмауэра
- добавьте строку "127.0.0.1 localhost" в c:\windows\system32\drivers\etc\hosts
ничего не помогало.
Maciej Los
Win10-это 32 или 64 бит?
Member 14850091
Система 64-битная, приложение 32-битное
Maciej Los
Возможно, причина в этом. Пробовали ли вы скомпилировать свою программу с различными опциями (32/64 бит)?
Maciej Los
Пожалуйста, прочтите это: Подключение к WMI на удаленном компьютере - Win32 apps | Microsoft Docs[^]
Richard MacCutchan
Почему вы используете IP-адрес своего компьютера? Используйте версию GetProcessesByName
для этого не требуется имя хоста.