如何读取设备和驱动程序版本
本文关键字:驱动程序 版本 何读取 读取 | 更新日期: 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都一样])。