Нужно получить ID определенных процессов.
Process[] processes = Process.GetProcessesByName("winword, excel, chrome");
List<string> list = new List<string>();
list.Add(processes[0].ProcessName.ToString() + " " + processes[0].Id.ToString(););
Если указать поиск по одному процессу - все работает, а если указываешь несколько процессов - ошибка. Подскажите, что нужно сделать?
Пожалуйста, ознакомьтесь с документацией по Process.GetProcessesByName()
Как мы видим, в данном случае вы пытаетесь получить список процессов с названием winword, excel, chrome (которого, естественно, нет) и по всей видимости валитесь с ArgumentOutOfRangeException при попытке достучаться до первого элемента пустой коллекции. Учтите, что с одним названием может быть несколько процессов (два хрома запущено, например).
Итак, по всей видимости это то, что вам требуется:
var processNames = new [] { "winword", "excel", "chrome" };
var list = new List<string>();
foreach (var processName in processNames)
{
var process = Process.GetProcessesByName(processName).FirstOrDefault();
if (process != null)
{
list.Add($"{process.ProcessName} {process.Id}");
}
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости