Quick Tips: Trabalhando com processos do windows - Parte 7
Nesta quick veremos como listar as threads de um determinado processo.
Vamos utilizar o mesmo exemplo anterior, só que agora adicione mais um listBox.
public void LoadThreads(Process processo)
{
//Limpa o listBox3
listBox3.Items.Clear();
//Carrega todas as threads do processo
ProcessThreadCollection threads = processo.Threads;
//percorre todas as trheads e adiciona no listBox3
foreach (ProcessThread t in threads)
{
//se thread estiver com estado Wait então exibe o motivo do espera
if (t.ThreadState==ThreadState.Wait)
listBox3.Items.Add(t.Id.ToString() + " | " + t.ThreadState.ToString() + " | " + t.WaitReason.ToString() + " | " + t.PriorityLevel.ToString());
else
listBox3.Items.Add(t.Id.ToString() + " | " + t.ThreadState.ToString() + " | " + t.PriorityLevel.ToString());
}
}
Agora basta incluirmos a chamada a este método no método LoadInfoProcess, que ficará assim:
public void LoadInfoProcess(Process processo) {
label2.Text = "Estado do processo: " + GetProcessState(processo).ToString();
label3.Text = "Nome do processo: " + processo.ProcessName;
label4.Text = "Prioridade do processo: " + processo.PriorityClass.ToString();
label5.Text = "Arquivo de execução: " + processo.StartInfo.FileName;
label6.Text = "Total de memória física: " + (processo.WorkingSet64 / 1024).ToString("d");
label7.Text = "Total de memória virtual: " + (processo.VirtualMemorySize64 / 1024).ToString("d");
label8.Text = "Tempo de processamento: " + processo.TotalProcessorTime.ToString();
label9.Text = "Pico de consumo de memória física: " + processo.PeakWorkingSet64.ToString("d");
label10.Text = "Pico de consumo de memória virtual: " + processo.PeakVirtualMemorySize64.ToString("d");
label11.Text = "Mínimo permitido de consumo de memória: " + processo.MinWorkingSet.ToString();
label12.Text = "Máximo permitido de consumo de memória: " + processo.MaxWorkingSet.ToString();
LoadModules(processo);
LoadThreads(processo);
}
O resultado que temos é o seguinte:
É isso aí pessoal, nossa série termina aqui. Espero que tenham gostado.
Fiquem a vontade para criticar, tirar dúvidas e sugerir novos temas.
Abraço.
Ricardo Coelho