using System;
using System.Drawing;
using System.Windows.Forms;
using System.Diagnostics;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string machineName = ".";
Process[] processes = null;
try
{
processes = Process.GetProcesses(machineName);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
Application.Exit();
}
int totalThreads = 0;
foreach(Process p in processes)
{
try
{
string[] processesInfo = new string[]{p.ProcessName, p.Id.ToString(),
p.StartTime.ToShortTimeString(),
p.TotalProcessorTime.Duration().Hours.ToString()+
":"+
p.TotalProcessorTime.Duration().Minutes.ToString()+
":"+
p.TotalProcessorTime.Duration().Seconds.ToString(),
(p.WorkingSet64/1024).ToString()+"k",
(p.PeakWorkingSet64/1024).ToString()+"k",
p.HandleCount.ToString(),
p.Threads.Count.ToString()};
ListViewItem lvi = new ListViewItem(processesInfo);
listView.Items.Add(lvi);
totalThreads += p.Threads.Count;
}
catch{}
}
statusBar.Panels[0].Text = "Processes : " + processes.Length.ToString();
statusBar.Panels[1].Text = "Threads : " + totalThreads.ToString();
}
}
}