none
如何用程式釋放已被佔用的COM Port RRS feed

  • 問題

  • 各位好,
    我會需要一直插換USB設備,而沒有用卸除功能,
    這在XP上會造成在裝置管理員中的連接埠(COM和LPT)會看到一個情形,
    就是新設備的COMPORT號碼由COM3一直累積到COM18以上,

    而且我將所有USB設備拔掉後(沒用卸除功能),

    在無USB設備的情形下,再插入一個新的USB設備,

    它顯示的COM不是重新來過的COM3,

    而是COM27,

    因為XP會記得以前的設備來幫助系統在舊設備插入時可以立即使用,

    所以插舊設備會顯示出它以前的位置(COM7),

    而新設備就只能一直用新的位置(COM27、COM28 ....),

    我該如何用程式來將拔掉的USB設備就釋放它的COM Port,

    謝謝各位的回答。

    2009年5月4日 上午 07:58

解答

  • 是的,

    我現在就是想用程式把這些註冊資訊全部清除,讓新插入設備後自動從前面的編號開始用,

    但我沒有頭緒,不知道這方面的資訊,

    可以多告訴我一些資訊或例子,

    或是msdn要查那部份有說,

    謝謝各位的回答。
    2009年5月4日 上午 08:34

所有回覆

  • usb 設備插入硬體後,會寫入註冊資訊檔,裡面包含硬體的 HID ,所以應該是不太可能。

    可以測試的方向是寫小程式在每次使用完後,把這些註冊資訊全部清除,讓插入設備後自動從前面的編號開始用。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    2009年5月4日 上午 08:26
  • 是的,

    我現在就是想用程式把這些註冊資訊全部清除,讓新插入設備後自動從前面的編號開始用,

    但我沒有頭緒,不知道這方面的資訊,

    可以多告訴我一些資訊或例子,

    或是msdn要查那部份有說,

    謝謝各位的回答。
    2009年5月4日 上午 08:34
  • HI,

    您可以寫程式執行退出USBDISK的動作, 請參考:
    Eject USB disks using C#
    2009年5月5日 上午 03:27