如何阅读设备和驱动程序版本

时间:2013-04-22 16:08:21

标签: c# .net windows

我很难搞清楚如何做到这一点。基本上,我想要做的就是读取连接到机器的所有设备,并阅读驱动程序制造商和设备驱动程序的版本。这是您可以在设备管理器中获得的信息,但我想以编程方式进行此操作。

我做了很多搜索和阅读,找不到任何可以帮助我做这件事的事情。有这个WMI的东西应该工作,但我找不到任何有效的例子。我已阅读并阅读有关WMI的内容,但仍无法弄明白。

是否有任何可能比微软网站更好地解释WMI的教程?我需要将其降低到绘画水平。

2 个答案:

答案 0 :(得分:13)

请查看以下文章

Get Your Hardware Information Using C#

Retrieving Information From Windows Management Instrumentation

修改

我相信您正在寻找以下Win32_PnPSignedDriver课程

public class Program
{
    public static void Main()
    {
        ManagementObjectSearcher objSearcher = new ManagementObjectSearcher("Select * from Win32_PnPSignedDriver");

        ManagementObjectCollection objCollection = objSearcher.Get();

        foreach (ManagementObject obj in objCollection)
        {
            string info = String.Format("Device='{0}',Manufacturer='{1}',DriverVersion='{2}' ", obj["DeviceName"], obj["Manufacturer"], obj["DriverVersion"]);
            Console.Out.WriteLine(info);
        }

        Console.Write("\n\nAny key...");
        Console.ReadKey();
    }
}

Aslo,如果你要在WMI上做很多工作,你可以使用这个工具,以避免创建测试应用程序。

答案 1 :(得分:1)

如果您正在寻找机器中的特定类型的设备信息(假设只有蓝牙),那么  c#中的“ManagementObjectSearcher”就足够了。你只需要包括
  using System.Management;
用条件搜索条件如下

 ManagementObjectSearcher mos =
                   new ManagementObjectSearcher(@"\root\cimv2", @"Select * From Win32_PnPEntity WHERE ClassGuid = '"+deviceGuid+"'");

这里“deviceGuid”是设备类类型(guid值[对所有PC都相同])。