本文告诉大家如何通过 WMI 获取用户已经安装的驱动程序
通过 Win32_SystemDriver 可以获取用户已经安装的驱动程序
var mc = "Win32_SystemDriver"; var managementObject = new[] { "Caption", //"CreationClassName", //"Description", //"DisplayName", //"InstallDate", "Name", //"PathName", //"ServiceType", //"StartMode", "State", }; ManagementClass managementClass = new ManagementClass(mc); ManagementObjectCollection managementObjectCollection = managementClass.GetInstances(); var str = new StringBuilder();
foreach (ManagementObject m in managementObjectCollection) { foreach (var temp in managementObject) { try { str.Append(temp); str.Append(" "); str.Append(m[temp]?.ToString() ?? ""); str.Append("\n"); } catch (Exception e) { Console.WriteLine(temp + " " + e); } }
str.Append("\n"); }
return str.ToString();
对于驱动程序只需要知道驱动程序是哪个,是否运行就可以,至于安装日期和在安装在哪很多时候不需要知道
输出 str 的内容
Caption : Windows Driver Foundation - User-mode Driver Framework ReflectorName : WUDFRdState : Running
Caption : WPD 文件系统驱动程序Name : WUDFWpdFsState : Running
Caption : XINPUT HID 筛选器驱动程序Name : xinputhidState : Stopped
驱动的内容很多,我就不全部放在代码
Win32_SystemDriver class - Windows applications

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。 欢迎转载、使用、重新发布,但务必保留文章署名 林德熙 (包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我 联系。