C# Windows 任务管理器

最近看到 Process 这个类,非常强大,可以实现任务管理器一样的功能,枚举进程和进程的信息,于是打算自己写一个任务管理器出来。

非常简单,先导入命名空间System.Diagnostics,在Form中添加一个ListView,设置View为Detals,然后添加几个Column,最后,在代码中将Process类中的数据添加到ListView中即可。

枚举进程代码:

            listView1.Items.Clear();//清空列表

            Process[] proList = Process.GetProcesses(".");//获得本机的进程
            lblNum.Text = proList.Length.ToString(); //当前进程数量
            foreach (Process p in proList)
            {
                ListViewItem lvi = new ListViewItem();
                lvi.Text = p.ProcessName;
                lvi.SubItems.AddRange(new string[] { p.Id.ToString(), p.PrivateMemorySize64.ToString() }); //进程ID  使用内存
                lvi.Tag = p;
                listView1.Items.Add(lvi);//添加到列表
            }

结束选中的进程

private void btnEnd_Click(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count > 0)
            {
                if (listView1.SelectedItems[0].Tag != null)
                {
                    try
                    {
                        Process p = (Process)listView1.SelectedItems[0].Tag;
                        p.Kill();
                        listView1.Items.Remove(listView1.SelectedItems[0]);
                    }
                    catch(Exception ee)
                    {
                        MessageBox.Show("无法结束进程 :" + ee.Message);
                    }
                }
            }
        }

怎么样,是不是很简单?我们自己也可以做一个任务管理器了!

这里是成品:

功能:进程管理、性能、用户、进程详细信息、启动项管理

 

这是基于C#制作的任务管理器,在任务管理器的功能上添加了一些新的功能。这是进程查看页面

这是性能查看页面,其中使用的是PDH获取性能信息,WMI获取硬件信息

这是源代码https://pan.baidu.com/s/1kVQWyZsWqkowl2v7JFRNig(这是旧的版本)

这是成品源代码,托管在Github上,需要的朋友们可以参考一下:github.com/717021/pcmgr

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值