2012-01-06 203 views
3

我正在開發一個Windows C++應用程序,用於驅動插入USB的電機控制器。 這個控制器依賴於Ftdibus驅動程序,它可以在我的電腦上正常工作。 但是,在一臺測試計算機上,它曾經工作過,但是一旦我插入控制器,我就會與Ftdi驅動程序混淆,我得到一個BSoD(提及Ftdibus)。 我想清理的驅動器,但是:當硬件未連接時卸載Windows驅動程序

  • 它們不會出現在Windows的「卸載程序」
  • 我可以在設備管理器在控制器上沒有右鍵並選擇「卸載」,因爲我不能插控制器(藍屏)
  • 我想nirsoft tool有一個選項卸載設備,但它不會工作

我無言以對,我怎麼能清理爛攤子?

PS:如果任何人有關於驅動程序如何綁定到一個USB端口號的文件,我就喜歡閱讀關於這個問題的

回答

9

如果這是Vista和更高版本,刪除驅動程序包支持的方法是用pnputil:

http://msdn.microsoft.com/en-us/library/windows/hardware/ff550428(v=vs.85).aspx#deleting_a_driver_package_from_the_driver_store

只需刪除該服務是那種一個壞主意,這是不是唯一安裝驅動程序的東西放在註冊表中。

我錯過了關於Windows如何將驅動程序綁定到USB設備的文章的第二部分。有它的一個很好的描述在這裏:

http://blogs.msdn.com/b/oldnewthing/archive/2004/11/10/255047.aspx

如果您需要更多的細節隨時聯繫我(我專門在Windows驅動程序爲生:))

+2

pnputil -f -d did it – 2012-01-11 17:48:47

+0

@snoone如何卸載並重新安裝設備驅動程序? – 2016-04-26 19:22:13

1

我如何做到這一點是以下三種方式之一:

  1. 圍棋進入設備管理器,選擇'查看'菜單並選擇'顯示隱藏的設備'。找到您的設備描述並選擇「卸載」菜單選項。 [easy]

  2. 您可以使用Service Control Manager命令行'SC'從註冊表中刪除設備驅動程序。您需要知道安裝的驅動程序名稱。 [中]

  3. 手動刪除註冊表中的驅動程序設置。使用註冊表編輯器,您可以刪除驅動程序的註冊表項。驅動程序註冊表安裝位於'HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services'下。找到驅動程序名稱密鑰並刪除它。 [硬盤]

+0

已經嘗試過的方法#1:設備的確沒有出現。將嘗試#2和#3。謝謝 – 2012-01-06 23:06:08

+1

啊!我應該怎麼知道這個司機的名字是什麼? – Michael 2017-09-10 20:26:47