Мое устройство подключается к ПК и предоставляет виртуальный последовательный порт. Номер последовательного порта меняется в зависимости от того, к какому физическому порту USB подключаю устройство. Есть ли способ, которым мое приложение может узнать, к какому физическому USB-порту подключено мое устройство? Это действительно поможет мне оптимизировать код. В настоящее время мое приложение определяет действительный номер порта, когда-либо подключенное устройство, путем повторения всех возможных портов, что является длительным процессом. Если я знаю, какой USB-порт был подключен, я уже знаю, какой порт comm он предоставляет, и я могу сохранить/загрузить эти настройки для каждого конкретного физического USB-порта (профиля). Я использую C++/MFC и Windows 7. Мне также хотелось бы, чтобы это работало в XP.Как определить, какой порт USB используется?
1
A
ответ
1
Источник выборки USBView доступен в WDK. Если вы не знакомы с этим, просто запустите его - этот инструмент просматривает все дерево USB в системе и распечатывает данные и описания дескрипторов для каждого устройства, а также местоположения на контроллерах и концентраторах хоста.
Начните с функции RefreshTree() в этом примере, затем вы можете следовать этому коде, чтобы увидеть, как он перечисляет контроллеры, концентраторы и, наконец, устройства.
Самый простой способ получить источник для этого образца для установки 7.1.0 WDK, который в настоящее время доступен здесь: http://www.microsoft.com/en-us/download/details.aspx?id=11800
Смежные вопросы
- 1. Ubuntu/Debian Как определить USB-порт устройства
- 2. Как определить порт USB на Android?
- 3. Какой порт используется мой сокет
- 4. Как определить, используется ли последовательный порт .net
- 5. Какой порт используется Delphi RemoteDebugger?
- 6. Как определить, какой процесс использует последовательный порт?
- 7. Как узнать, какой локальный порт используется Stream?
- 8. последовательный порт или порт USB?
- 9. Как определить, какой порт будет назначен клиенту?
- 10. Как определить, какой сервер прослушивает порт 80
- 11. Невозможно определить, какой элемент используется ...?
- 12. какой порт используется локальным веб-сервером?
- 13. Какой порт используется для данной программы?
- 14. Определить, какой шаблон WordPress используется
- 15. Какой порт используется соединением Java RMI?
- 16. Какой порт используется Java Web Start?
- 17. Как настроить встроенный USB-порт USB?
- 18. Как определить, какой шрифт IE используется?
- 19. PL/SQL: как определить, какой браузер используется?
- 20. Как определить, какой тип используется в объединении?
- 21. Как определить, какой eclipse sdk используется?
- 22. Как определить, какой файл настроек C# используется
- 23. Как определить, какой формат даты используется системой?
- 24. Как определить, какой UIViewObject используется в swift?
- 25. Как определить, какой ресурс drawble используется?
- 26. Как определить, какой метод аутентификации используется?
- 27. Как определить, какой шрифт используется приложением?
- 28. Как определить, какой конфигурационный файл mongodb используется?
- 29. Каковы наилучшие способы определения того, какой порт используется приложением?
- 30. Как ссылаться на порт USB через avrdude?
Ваш вопрос, безусловно, зависимые от ОС. Из того, что вы говорите, что вы используете MFC, я предполагаю, что вы находитесь в Windows. Но какая именно версия? –
Я использую Windows 7, но также хотел бы получить решение для Win XP, если оно отличается. И правильно я использую MFC. У меня есть обновленные теги вопросов, чтобы включить окна. – zar
Есть ли что-то, что «отвечает» на другом конце? Если это так, я бы просто попробовал каждый серийный порт, доступный в машине (очевидно, если ваш компилятор не подключен к ядерной ракете, которая будет полететь, если вы попытаетесь подключиться к ней на своем последовательном порту и провалиться больше, чем X раз). Я использовал эту технику для поиска мобильных телефонов в системе для тестирования мобильных телефонов (потому что каждый раз, когда я подключался к другому телефону, у него был уникальный номер com-port, поэтому вместо этого я идентифицировал мобильный телефон на его идентификационной информации и использовал файл конфигурации для mappign ID телефона для более полезных имен) –