在C#應用程序中,有哪些檢測連接到計算機的某些設備是否存在的好方法?當然,在編程上。我需要支持Windows XP和7如何檢測某個設備的存在
背景
我一直在考慮使用一些連接設備龐大的C#應用程序。這些設備是定製的硬件,並沒有設計用於沒有軟件。當C#應用程序啓動時,它會搜索這些連接的設備並在適當時與它們進行通信。可以有多個連接的設備。我沒有看過搜索設備的源代碼。使用USB或串行電纜將設備插入PC。它們在設備管理器中顯示爲COM端口。有時在PC和設備之間可以有USB集線器或串口到USB轉換器。
當設備連接到某個USB集線器或使用某個串行到USB轉換器時,有時軟件無法正確檢測到設備。有時它從PC到PC有所不同。我們不確定是否會導致某些驅動程序。
我被告知要查看設備搜索算法,如果可能,提出更好的解決方案並替換當前的實現。我之前沒有做過這類任務,我需要了解Windows如何管理設備下的設備。
如何在C#中搜索特定的連接設備?有什麼好的做法,我應該注意或避免什麼?
也許這篇文章interresting:http://stackoverflow.com/questions/68749/working-with-usb-devices-in-net和http://www.developerfusion.com/article/84338/making-usb-c-friendly/ – Ruben 2011-12-29 09:48:58
您可以使用WMI等枚舉所有連接的(usb)設備。據我所知,他們工作起來很慢。可能有更好的方法。 http://stackoverflow.com/questions/3331043/get-list-of-connected-usb-devices – CodingBarfield 2011-12-29 10:22:29