Список процессов которые нужно обойти в цикле
var name = new List<string>
{
"svchost", "csrss", "System", "wininit"
}
Пробую так:
var etc = Process.GetProcesses();
foreach (var anti in etc)
{
foreach (var s in name)
{
if (name.IndexOf(anti.ProcessName.ToLower()) < 0)
{
anti.Kill();
}
}
}
Но выходит исключение:
Необработанное исключение типа "System.ComponentModel.Win32Exception" в System.dll
Что нужно исправить?
Попробуйте следующий код:
var names = new List<string> { "svchost", "csrss", "System", "wininit" };
var processes = Process.GetProcesses();
foreach (var process in processes)
{
if (!names.Contains(process.ProcessName, StringComparer.OrdinalIgnoreCase))
{
process.Kill();
}
}
PS: давайте нормальные имена вашим переменным. Все эти etc
, anti
, s
- сами в них не путаетесь? Также учитывайте число: имён в коллекции подразумевается несколько, поэтому название должно быть names
, а не name
(даже если коллекция пустая).
Цикл foreach (var s in name)
лишний, из за него Вы каждый процесс пытаетесь убыть 4 раза (столько элементов в списке):
var etc = Process.GetProcesses();
foreach (var anti in etc)
{
if (name.IndexOf(anti.ProcessName.ToLower()) < 0)
{
anti.Kill();
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте! Помогите, пожалуйста, решить 2 вопроса
Как сделать так, чтобы при нажатии на кнопку, одновременно нажималась вторая кнопка?
Как создать таблицу в RichTextBox? Нужно чтобы по нажатию на Button создалась таблица 2x1, но если нажать на Enter (как и в Word) добавится еще одна строка,...
Здравствуйте! Я написал бота для соцсети, и теперь мне нужно где-то его хоститьПроблема в том, что я не могу разобраться где