C# Windows 任务管理器
程序员文章站
2024-03-21 17:11:40
...
最近看到 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获取硬件信息
上一篇: (2020.1.2已解决)pyinstaller生成exe出错:RecursionError: maximum recursion depth exceeded
下一篇: Mysql 8.0 安装(亲妈教程)
推荐阅读
-
C# Windows 任务管理器
-
Windows下的.Net的软件包管理器-NuGet
-
js 禁用浏览器历史记录_如何在Windows文件资源管理器中禁用搜索历史记录
-
微软开源 Windows 软件包管理器 winget,一行命令安装软件
-
chocolatey_开始使用开源Windows软件包管理器:Chocolatey
-
cmd_关闭控屏软件_关闭卡死程序_解除任务管理器禁用
-
crontab定时任务管理器
-
如何查看windows凭据管理器-windows 凭据 里保存的密码
-
windows mysql定时备份任务 博客分类: 数据库 mysqlwindows
-
一个应用的任务栏助手如何更好实现?这里也许有你想要的答案 Windows 7devexpresswinform