.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();
}