Нужно получить 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}");
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Использую функции WindowsMediaPlayer для создания плеераЕсть TrackBar который отображает текущее время композиции
Есть несложный код, цель которого форматировать и вывести результат с 2 знаками после запятой:
Объясните как подключить библиотеку bassdll для C# Visual Studio 2017