我真的很难搞清楚如何做到这一点。 基本上,我想要做的就是读取连接到机器上的所有设备,并读取驱动程序制造商和设备驱动程序的版本。 这是您可以在设备pipe理器中获得的信息,但是我想要在程序中执行此操作。
我做了很多search和阅读,找不到任何有助于我这样做的事情。 有这个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上工作很多,你可以使用这个工具来避免创建测试应用程序。
如果你正在从你的机器寻找一种特定类型的设备信息(假设只有蓝牙),那么在C#中的“ManagementObjectSearcher”就足够了。 你只需要包括
using System.Management;
把它作为条件搜索如下
ManagementObjectSearcher mos = new ManagementObjectSearcher(@"\root\cimv2", @"Select * From Win32_PnPEntity WHERE ClassGuid = '"+deviceGuid+"'");
这里“deviceGuid”是设备类的类型(一个guid值[所有的PC都一样])。