检查驱动程序是否已卸载

时间:2018-10-23 12:02:52

标签: c# windows-7 windows-10

如何在C#中检查是否已安装/卸载设备驱动程序?

我看了一个问题:How to check whether a driver is installed?,建议使用Win32_SystemDriver

但是,如果我在Windows设备管理器中卸载了驱动程序,则此查询仍然可以找到它。尽管.sys文件确实从设备管理器中消失了,但并未从C:\Windows\System32\drivers目录中删除var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_SystemDriver"); var drivers = searcher.Get(); foreach (var driver in drivers) { var deviceName = driver.GetPropertyValue("Name") == null ? "<<NULL>>" : driver.GetPropertyValue("Name").ToString(); var deviceStatus = driver.GetPropertyValue("Status") == null ? "<<NULL>>" : driver.GetPropertyValue("Status").ToString(); Console.WriteLine(string.Format("{0} - {1}", deviceName, deviceStatus )); Thread.Sleep(50); } Console.WriteLine("================"); Console.ReadKey(); 文件(即使我勾选了删除驱动程序文件的框)。但是由于该设备现在不可用,并且正在Windows设置(Windows 10)的“蓝牙和其他设备”页面中,该驱动程序已被卸载,如果我插入了该设备,则会列出该设备,但下面的消息显示“ Driver is不可用”。在我重新安装驱动程序之前,它将一直保持这种状态。

enter image description here

这是我的代码:

deviceName

deviceStatus给出了正确的驱动程序名称,而无论是否安装了驱动程序,ErrorDocument 404 /404.html都是“确定”。

我也在标记Windows 7,因为该解决方案必须在v7和v10中运行。

0 个答案:

没有答案