Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,870 questions

51,793 answers

573 users

How to show the computer (PC) processes with all the details like CPU Time and Memory Usage in C#

1 Answer

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


answered Mar 15, 2015 by avibootz

Related questions

...