登录 / 注册
用C#开发较完整的Windows任务管理器
发布时间:2018-11-14 15:20:07 查看:3536
最近看到 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

宁夏银川舜新艺软件开发
ShunXinyi Soft develop
主要经营
软件开发,网站制作,网页设计,移动应用(安卓、苹果),微信,微网站,
FLASH动画,电子商务,计算机软硬件及网络设备等。
电话:18695132945 QQ:23923027
舜新艺软件开发 宁ICP备16001093号-1 宁公网安备 64010602000809号