Закрытие процессов которые есть в CheckedListBox
Код для нахождения процессов
private void siticoneGradientButton3_Click(object sender, EventArgs e)
{
checkedListBox1.Items.Clear();
DisplayRunningApplicationsInCheckedListBox();
}
private void DisplayRunningApplicationsInCheckedListBox()
{
List<string> runningApplications = GetRunningApplications();
foreach (string application in runningApplications)
{
checkedListBox1.Items.Add(application);
}
}
private List<string> GetRunningApplications()
{
List<string> runningApplications = new List<string>();
Process[] processes = Process.GetProcesses();
foreach (Process process in processes)
{
// Исключаем системные процессы
if (!IsSystemProcess(process))
{
if (!string.IsNullOrEmpty(process.MainWindowTitle))
{
runningApplications.Add(process.MainWindowTitle);
}
}
}
return runningApplications;
}
private bool IsSystemProcess(Process process)
{
// Добавьте условия для исключения системных процессов
string processName = process.ProcessName;
if (processName == "taskhost" || processName == "services" || processName == "svchost" || processName == "Mediaplayer")
{
return true;
}
return false;
}
Код для закрытия этих процессов
private void CloseAllProcesses()
{
foreach (var process in Process.GetProcesses())
{
// Проверяем, отмечен ли процесс в CheckedlistBox
if (!checkedListBox1.Items.Contains(process.ProcessName))
{
try
{
process.Kill(); // Завершаем процесс, только если он не отмечен в CheckedListBox
}
catch (Exception ex)
{
Console.WriteLine($"Ошибка при завершении процесса: {process.ProcessName}. {ex.Message}");
}
}
}
}
У меня вообще компьютер крашнулся
Нужно чтобы помеченные процессы не закрывались