В приложении C#, какие хорошие способы обнаружить наличие определенного устройства, подключенного к компьютеру? Программно, конечно. Мне нужно поддерживать Windows XP и 7.Как определить наличие определенного устройства
фон
Я дал огромное приложение C#, который использует некоторые подсоединенного устройства. Устройства являются настраиваемым оборудованием и не предназначены для использования без программного обеспечения. Когда приложение C# запускается, он ищет такие подключенные устройства и связывается с ними, когда это необходимо. Могут быть несколько подключенных устройств. Я не изучал исходный код, который ищет устройства. Устройства подключаются к ПК с помощью USB или последовательного кабеля. Они отображаются как COM-порт в диспетчере устройств. Иногда между ПК и устройством может быть USB-концентратор или последовательный порт USB.
Когда устройство подключено к определенному USB-концентратору или используется определенный последовательный порт USB-конвертер, иногда программное обеспечение не может обнаружить устройство должным образом. Иногда это зависит от ПК и ПК. Мы не уверены, вызывает ли это у некоторых драйверов.
Мне сказали изучить алгоритм поиска устройства и, если возможно, придумать лучшее решение и заменить текущую реализацию. Раньше я этого не делал, и мне нужно узнать, как Windows управляет устройствами под капотом.
Как я могу найти конкретные подключенные устройства в C#? Какая хорошая практика и что я должен знать или избегать?
Может быть, эта статья интересна в: http://stackoverflow.com/questions/68749/working-with-usb-devices-in-net и http://www.developerfusion.com/article/84338/making-usb-c-friendly/ – Ruben
Вы можете перечислить все подключенные (usb) устройства с использованием WMI или таких. Насколько я помню, они довольно медленно работают. Однако могут быть лучшие способы. http://stackoverflow.com/questions/3331043/get-list-of-connected-usb-devices – CodingBarfield