Получение имени порта подключенного USB-устройства - PullRequest
5 голосов
/ 29 января 2011

Когда устройство USB подключено к компьютеру, как я могу получить имя PORT, к которому оно подключено, используя код C #.Я нашел много способов узнать, когда USB подключен, отключен, буква диска, путь, идентификатор устройства и т. Д., Но не нашел четкого примера, как узнать, к какому порту он подключен.Я видел одно возможное объяснение, но оно включает в себя множество ошибок, которые я совершенно не понимаю.Мне нравится верить, что есть более прямые и простые способы получения такой информации только в c #, без использования какого-либо неуправляемого кода.

Ответы [ 4 ]

11 голосов
/ 29 января 2011

USB-порты не имеют имен.Это шина, не имеет значения, какой разъем вы используете.Точно так же, как не имеет значения, куда вы вставляете карту в шину внутри машины.

Если вы на самом деле говорите об устройстве USB, драйвер которого эмулирует последовательный порт (например, «COM5»), довольнообычно вы можете получить некоторую информацию о драйвере из запроса WMI, класса Win32_SerialPort.Используйте инструмент WMI Code Creator , чтобы поиграть с таким запросом и автоматически сгенерировать необходимый вам код C #.

5 голосов
/ 29 января 2011

Возможно, вы можете использовать библиотеку устройств C # до USB как описано здесь:
Есть ли хорошие библиотеки C # для USB-устройств?

Из приведенного выше ответа: Для получения списка подключенных устройств:
http://code.google.com/p/usb-devices-list/

1 голос
/ 26 ноября 2011

Номер COM-порта можно найти с помощью сервисов wmi, Вот пример VBScript для определения номера USB-порта

1 голос
/ 12 октября 2011

Я нашел очень хорошую библиотеку здесь страница 1 и здесь страница 2

Сайт на китайском, а код - нет. Он не работает для x64 (он скомпилируется, но ответы на него фиктивны), но работает для x86.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...