如何解决C#:如何在我的 PC 上列出与任务管理器相同的工作进程不像应用程序选项卡
我想在我的列表视图中将我电脑上的工作进程列为任务管理器(不是所有进程)。
我测试了这些样本和其中的许多样本:
How can I get list of Applications as shown in Task Manager (Not Processes) How to list all Windows Processes and their attributes (Task Manager like) with C# in WinForms
我想列出这些应用程序: My task manager
我可以在我的列表视图中列出那些: Listed proccesses in my list view
我在代码中使用了这些行:
Process[] processes = Process.GetProcesses();
foreach (Process p in processes)
{
if (!String.IsNullOrEmpty(p.MainWindowTitle))
{
listBox1.Items.Add(p.MainWindowTitle);
}
}
但是这个列表就像 Nvidia Geforce Now、Groove Music 或 Microsoft Text Input Application 等。这些都没有在 Windows 任务管理器中列出。我怎样才能消除那些。
解决方法
在TaskManager中,进程以两种模式显示:
- 在任务栏中有图标的程序的第一种模式(更多详细信息)
List<Process> taskBarProcesses = Process.GetProcesses().
Where(p => !string.IsNullOrEmpty(p.MainWindowTitle))
.ToList();
- 任务栏中没有图标的程序(详细信息较少)
Process[] processes = Process.GetProcesses();
foreach (Process p in processes)
{
Console.WriteLine(p.ProcessName);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。