.NET 2.x Диспетчер задач. - C#
Формулировка задачи:
Начал писать диспетчер задач.
Но не как не получается завершить процесс;
А так же узнать количество частной рабочей памяти процесса;
Код
//Клик по кнопке получающей список процессов private void button1_Click(object sender, EventArgs e) { int i = 0; listView1.Items.Clear();//по идее очистка listView1 но при повторном юзанье вся таблица ползёт foreach (Process p in Process.GetProcesses()) { listView1.Items.Add(p.ProcessName);//Имя процесса listView1.Items[i].SubItems.Add(p.Id.ToString());//его ID listView1.Items[i].SubItems.Add(p.Threads.Count.ToString());//Количество потоков listView1.Items[i++].SubItems.Add(p.PrivateMemorySize64.ToString());//По идее должно быть кол во памяти не нет.... } listView1.Sorting = SortOrder.Ascending;//по алфавиту с A-Z listView1.Sort();//сортируем } //завершаем процессы private void Close_Process_Click(object sender, EventArgs e) { try { if (listView1.SelectedIndices.Count != 0)//узнаём кол-во выделенных элементов { for (int i = 0; i < listView1.SelectedIndices.Count; i++)//пробегаемся по списку { int idProc = Convert.ToInt32(listView1.Items[i].SubItems[1].Text);//узнаём ID; Process.GetProcessById(idProc).Kill();//Убиваем по ID но почему то не работает; listView1.Items[listView1.SelectedIndices[i]].Remove();//Удаляем запись из списка; } } } catch { MessageBox.Show("Что то не так"); } list_color(); }
Решение задачи: «.NET 2.x Диспетчер задач.»
textual
Листинг программы
private void Close_Process_Click(object sender, EventArgs e) { try { if (listView1.SelectedItems.Count != 0) { Process[] proc = Process.GetProcesses(); foreach (Process p in proc) { foreach(int i in listView1.SelectedIndices) { if (p.ProcessName.Trim().ToLower() == listView1.Items[i].Text.Trim().ToLower()) { p.Kill(); } } } button1_Click(sender, e); } } catch { MessageBox.Show("Что то не так"); } list_color(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д