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

本文关键字:驱动程序 版本 何读取 读取 | 更新日期: 2023-09-27 18:10:17

我真的很难弄清楚如何做到这一点。基本上,我想做的就是读取所有连接到机器上的设备,也读取驱动程序制造商和设备驱动程序的版本。这是您可以在设备管理器中获得的信息,但我想通过编程来实现。

我做了大量的搜索和阅读,但找不到任何能帮助我做到这一点的东西。有这个WMI的东西应该工作,但我找不到任何工作的例子。我读了很多关于WMI的书,但仍然不明白。

有没有比微软网站更能解释WMI的教程?我需要把它缩小到蜡笔的高度

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

请看下面的文章

使用c#获取硬件信息

从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();
    }
}

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

    WMI Code Creator v1.0

如果您正在寻找特定类型的设备信息(假设只有蓝牙)从您的机器-然后c#中的"managementtobjectsearcher"已经足够好了。你只需要包含
using System.Management;
用它放置一个条件搜索,如下所示

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

这里的"deviceGuid"是设备类类型(一个guid值[对所有pc都一样])。