C# 获取具有消耗CPU的相应图像的应用程序列表

C# 获取具有消耗CPU的相应图像的应用程序列表,c#,wpf,visual-studio-2015,wmi,C#,Wpf,Visual Studio 2015,Wmi,我想获得当前在系统中运行并消耗CPU和内存的应用程序(最好是Metro或UWP)列表。我需要应用程序名以及与应用程序关联的图像,如下图所示。 正如我们在图像中看到的,Microsoft Edge正在显示其图标 我有一段代码可以帮助我获得CPU消耗的详细信息 Process[] processlist = Process.GetProcesses(); foreach(Process theprocess in processlist){ Console.WriteLine(“Process:

我想获得当前在系统中运行并消耗CPU和内存的应用程序(最好是Metro或UWP)列表。我需要应用程序名以及与应用程序关联的图像,如下图所示。 正如我们在图像中看到的,Microsoft Edge正在显示其图标

我有一段代码可以帮助我获得CPU消耗的详细信息

Process[] processlist = Process.GetProcesses();

foreach(Process theprocess in processlist){
Console.WriteLine(“Process: {0} ID: {1}”, theprocess.ProcessName, theprocess.Id);
}

我想要图像图标以及UWP/Store应用程序的名称。

如果您要查找正在运行的进程的图标,那么您可以这样获得它

Icon icon = Icon.ExtractAssociatedIcon(theprocess.MainModule.FileName);
然后你可以像这样把它转换成位图

var iconImage = icon.ToBitmap();
命名空间:
System.Drawing


希望这有帮助。

你为什么投票决定关闭它?我需要帮助!这基本上是一样的。你的代码片段并没有提到“获取CPU消耗详细信息”。更不用说,毫无疑问,事实上有人要求达帕特不要关闭这个,你可以帮助或指导我吗?至少我想做点什么?任何线索或任何东西都会有帮助。有什么名称空间可以包含在其中吗?我想做的是提取一个正在运行的进程列表,其中包含它们的名称和与之关联的应用程序图标,并将此代码添加到foreach循环中
theprocess
是您的foreach迭代变量。我制作了一个控制台应用程序,并以管理员身份运行VS。我正在获取Win32Exception-System.Dll中发生System.ComponentModel.Win32Exception类型的未处理异常。。访问权限是denied@Apoorv您获得
访问被拒绝的原因有很多
异常。从32位进程访问x64进程,尝试访问
系统
进程等。请参阅此链接以了解更多详细信息。有人说编译应该是AnyCPU..对我来说也是一样的!让我查一查,然后再打给你