Проверяю запущен ли стим
if (Process.GetProcessesByName("Steam").FirstOrDefault() != null) {
Debug.Log("Steam запущен");
return;
}
Debug.Log("Steam не запущен");
Steam запущен, но получаю ошибку:
InvalidOperationException: Process has exited, so the requested information is not available.
try {
var procList = Process.GetProcesses();
if (procList.Any(t => string.Equals(t.ProcessName, "Steam"))) {
Debug.Log("Steam enable");
return;
}
Debug.Log("Steam disable");
} catch (Exception e) {
Debug.Log(e);
}
GetProcessesByName моновский вызывает GetProcesses, который внутри итерирует список. Для части процессов в системе нельзя получить имя и метод выбрасывает исключение.
Рекомендую вам самому прогонять этот список:
var procList = Process.GetProcesses();
for (int i = 0; i < procList.Length; i++) {
try {
if(string.Equals(procList[i].ProcessName, "Steam") {
Debug.Log("Steam запущен");
return;
}
} catch {}
}
Debug.Log("Steam не запущен");
Продвижение своими сайтами как стратегия роста и независимости