如何使用WMI获取进程描述?

时间:2012-05-13 09:52:45

标签: c# process wmi wmi-query

我正在使用WMI查询来获取所有进程的列表,但我缺少的是进程描述! 当我使用“描述”属性时,它看起来像这样!

Name : chrome.exe            Description : chrome.exe

但它应该是

Name : chrome.exe            Description : Google Chrome

那么返回流程描述的属性名是什么?

public void GetProcesses()
{ 
     ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_Process");
     ManagementObjectCollection processList = searcher.Get();
     foreach (ManagementObject obj in processList)
     {
         Console.WriteLine("Name : {0}     Description : {1}",obj["Name"],obj["Description"]);
     }
}

2 个答案:

答案 0 :(得分:0)

您拥有Win32_Process class documentation中的所有属性。看起来你运气不好,使用wbemtest在我的机器上测试一些进程,我没有看到任何适合你需要的属性。流程可能不会泄露此类信息。

答案 1 :(得分:0)

它不是WMI,但适用于本地计算机上的进程。

您可以使用GetVersionInfo找到流程[sic。]的描述,实际上它是可执行文件的描述。然后检查FileDescription和/或ProductName properties

但请注意,无法保证此信息可用。然而,这可能是你最好的选择。其他工具,如sysinternals process explorer,也会显示该信息。