USB 驱动彻底删除

最近做USB 自定义设备开发,遇到以下问题,应该算是解决了,特地写出来和大家分享。


在进行USB设备开发的时候 ,经常需要更改USB设备的 名称或者pid 、vid等,特别是进行自定义USB设备,自己写驱动程序的时候,会出现一个问题就是:

设计了一个USB设备,插到电脑上通过安装驱动可以正常试用。

后来修改了USB设备的设备名称 pid、vid,再插上电脑,还是显示原来的设备名称。

在设备管理器 右键删除驱动后 重新插入电脑,还是跳出原来的USB设备名称,不过这次是需要重新再安装一遍驱动,但设备名还是没有变。

我还试过在 :到注册表下HKLM\SYSTEM\CurrentControlSet\Enum\USB\Hardware_ID删除这个ID(删除id需要右键修改权限 为完全控制)

勾选 完全控制就可以删除了。



可是这样删除了,上述的问题还是没有解决,再插上电脑,还是显示原来的设备名称。

那么如何才能够,彻底删除USB信息,就和这个设备没有插到过这台电脑上一样??

解决方法:

第一步:这一步当然是在设备管理器那里选择设备驱动,右键删除之。

第二步:记好 显示的设备名称 如我的上图名称就是 LeoUsb2 到 C:\WINDOWS\inf 目录下寻找 新建的.inf文件,可是问题来了 系统新建的inf文件不是按照名称来建的,好像是按照数量,由系统建立的。所以利用  搜索功能,查找文件中包含LeoUsb2的所有文件,等待一段时间 如果你之前安装过成功这个文件名,那么会找到一个或者几个文件(一般为 一个,除非之前安装过多次不同id的驱动),选定把他们一起删除,还有要删除相应的.PNF文件。

第三步:找到C:\WINDOWS\system32\drivers 目录 寻找相应的LeoUsb2.sys文件


删除它就可以了。

现在你就可以 重新寻找你的USB驱动了,不会出现依旧是之前的系统额名字了。

这是我们摸索出来的,应该也不是最好的方法,那位大侠有好的方法,请赐教,谢谢!

你可能感兴趣的:(stm32笔记,VC++,学习笔记)