【问题标题】:Retrieving Process Description Information检索进程描述信息
【发布时间】:2009-07-28 05:18:14
【问题描述】:

我正在尝试检索流程信息,并且我知道我可以使用:

Process[] myProcesses = Process.GetProcesses();

但是如何检索流程描述?是通过一些 Win32 API 调用吗?我正在运行 Vista,当我在任务管理器的进程选项卡下单击时,我会看到说明。

【问题讨论】:

    标签: c# .net


    【解决方案1】:

    您在任务管理器中看到的其实是可执行映像的描述字段。

    您可以使用GetFileVersionInfo()VerQueryValue() WinAPI 调用来访问各种版本信息,例如公司名称或文件描述。

    对于.Net 方式,使用FileVersionInfoFileDescription 成员,使用通过Process.MainModule.FileName 获得的可执行名称进行实例化。

    另一种方法是通过Assembly。从可执行映像加载程序集,然后查询AssemblyDescriptionAttribute 自定义属性。

    【讨论】:

      【解决方案2】:

      您只需要进一步了解这些属性。 假设您正在运行一个记事本实例。

      Process[] proc = Process.GetProcessesByName("notepad");
      Console.WriteLine("Process version- " + proc[0].MainModule.FileVersionInfo.FileVersion);
      Console.WriteLine("Process description- " + proc[0].MainModule.FileVersionInfo.FileDescription);
      

      你去!

      【讨论】:

        【解决方案3】:

        这是我能想到的唯一方法。我尝试了 Process 和 Win32_Process,但没有成功。

        using System;
        using System.Collections.Generic;
        using System.Linq;
        using System.Text;
        using System.Management;
        using System.Diagnostics;
        
        namespace Management
        {
            class Program
            {
                static void Main(string[] args)
                {
                    var ps = Process.GetProcesses();
        
                    foreach (var p in ps)
                    {
                        try
                        {
                            var desc = FileVersionInfo.GetVersionInfo(p.MainModule.FileName);
                            Console.WriteLine(desc.FileDescription);
                        }
                        catch
                        {
                            Console.WriteLine("Access Denied");
                        }
                    }
        
                    Console.ReadLine();
                }
            }
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-10-14
          • 1970-01-01
          • 1970-01-01
          • 2012-02-26
          • 1970-01-01
          • 2014-12-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多