Как получить номер USB-порта, на котором "сидит" подключенное устройство12.04.2016, 23:36. Показов 6335. Ответов 12
Метки нет (Все метки)
Всем доброго времени суток, уважаемые коллеги!
Заранее прошу прощения у модераторов, если моя тема не совсем соответствует данному разделу, просто я так и не определился к какому разделу её корректнее будет отнести. Выбрал этот, т.к. мой проект всё-таки на C++/CLI Windows Forms. А теперь по сути. Вот фрагмент моего кода:
Пока теряюсь в идеях и догадках как бы это лучше и адекватнее, с меньшим количеством заморочек, организовать... Кто может помочь, подсказать, поделиться идеями? Примеры, или модификации непосредственно моего кода приветствуются
0
|
|||||||||||
| 12.04.2016, 23:36 | |
|
Ответы с готовыми решениями:
12
usb - устройство не опознано. последнее usb - устройство, подключенное к этому компьютеру, работает неправильно, и Windo Как программно перезагрузить устройство, подключенное по USB Как расшифровать номер USB порта и хаба по Device ID присооединенного устройства |
|
|
|
| 13.04.2016, 06:07 | |
|
Попробуйте соеденить с перечислением COM портов: http://www.nakov.com/blog/2009... tion-in-c/
0
|
|
| 14.04.2016, 21:07 [ТС] | |
|
Товарищи коллеги! Прошу меня извинить, в описании своего вопроса я допустил некоторую ошибку - не COM-порты мне нужны, а USB. Извините, мой недочет... Я почему-то думал, что у USB портов и COM реализация передачи данных одинаковая. Пробовал разные примеры по заданному выше вопросу и удивлялся, почему вроде как рабочие примеры кодов, выдают не те результаты, а оно и естественно - у меня же в ноутбуке COM-портов то и нету, есть только USB))
Затупил слегка, бывает... ![]() Ну, а теперь по сути. Если я хочу, выбрав устройство, полученное из списка устройств классов USB и HID (код выше), передать/считать с него данные, как это можно сделать? Как обратиться к USB-порту, выбранного устройства? С подобного рода задачей ранее еще не сталкивался, по этому тема эта для меня новая, так что буду признателен любым ссылкам на статьи или любую другую полезную информацию касаемо моего вопроса. Спасибо!
0
|
|
|
Администратор
|
|
| 15.04.2016, 07:52 | |
|
Для работы с последовательными портами есть значительно более простой API -
System.IO.Ports.SerialPort
0
|
|
|
|
|
| 15.04.2016, 09:01 | |
|
0
|
|
| 15.04.2016, 10:47 [ТС] | |
|
Спасибо, буду разбираться...
Добавлено через 32 минуты Спасибо за ответ и ссылку! Возможно мне эти исходники пригодятся в будущем. Однако на C# я еще не пишу и понимаю его лишь интуитивно пока (с плюсами конечно схожесть большая, 80% наверное, но некоторые моменты пока что не знаю). По этому с этими исходниками, боюсь, долго буду разбираться. Сам пишу проект на С++/CLI Windows Forms
0
|
|
| 16.04.2016, 13:18 [ТС] | |||||||
|
Прочел информацию, по приведенной Вами ссылке, попробовал запустить пример, который там даётся, а так же пример из ссылки о методе SerialPort::GetPortNames, и еще пробовал такой вариант получения списка портов:
Я немного в замешательстве. Может Вы поможете прояснить в чем может быть дело? Значит ли всё это, что такими примерами я пытаюсь получить COM-порты, а у меня их в ноутбуке тупо НЕТ!? Мне ведь надо список USB портов получить. Значит эти варианты мне не подходят просто на просто? Я правильно понял? Подскажите, пожалуйста, а то кажется я уже хожу по кругу и попал в тупик!(((
0
|
|||||||
| 18.04.2016, 14:49 [ТС] | |||||||||||
|
Всем доброго времени суток! Надеюсь, пишу не в пустоту...
В общем покопался еще по интернету, погуглив свой вопрос, нашел на микросине примеры применения нескольких библиотек и заголовочных файлов для работы с HID устройствами по USB. Остановился на применении библиотеки HID.dll c использованием заголовочного файла hidlibrary.h, который внутри себя вытаскивает определения функций из dll... Ну короче выглядит так:
0
|
|||||||||||
|
Администратор
|
|
| 19.04.2016, 03:07 | |
|
Возможно Убежденный знает ответ, вопрос касается C++/CLI лишь косвенно.
Этим сообщением я послал ему уведомление, возможно он заинтересуется темой.
0
|
|
| 19.04.2016, 12:38 [ТС] | ||
|
0
|
||
|
Ушел с форума
|
||
| 19.04.2016, 22:34 | ||
|
Хотя, возможно, тут просто путаница с кодировками, и "\" - это на самом деле начало более длинной строки, просто по каким-то причинам отображается только первый символ (я в C++/CLI не силен, так что точно не скажу). Кстати, SetupDiEnumDeviceInterfaces нужно вызывать в цикле, см. документацию. Да, и очень желательно всегда проверять, что возвращают функции, потому что успех не гарантирован ![]() А в случае ошибки обычно зовут GetLastError().
1
|
||
|
Администратор
|
||||||
| 19.04.2016, 22:52 | ||||||
|
Cha1000000, чтобы исключить влияние C++/CLI на вывод, используйте стандартные средства Си и C++ для вывода (
std::cout, например).Раз метод hid.GetDevicePath() возвращает std::string, для преобразования в System::String попробуйте
0
|
||||||
| 20.04.2016, 00:10 [ТС] | |||
|
Всем спасибо за советы и подсказки (нет, это еще не все, тему можно не закрывать )! Я нашел (где, уже честно говоря, не помню... возможно даже и в какой-то из тем именно этого форума... скачал и на радостях вкладку закрыл и не запомнил, ну не суть...) довольно подходящий под сою задачу пример (исходники проекта рабочего тоже на C++/CLI под 10 студию. Вот сейчас разбираюсь с ним, кое-что уже успел использовать от туда в своем проекте. Когда еще вдруг появятся вопросы (а я в этом не сомневаюсь ), обязательно задам их в этой же теме ;-) Еще раз всем спасибо и за будущие ответы (надеюсь) заранее
0
|
|||
| 20.04.2016, 00:10 | |
|
Помогаю со студенческими работами здесь
13
Как получить данные с USB порта? Как получить номер порта клиента? Аварийное выдергивание FTDI из порта USB: повторно запускаться и работать устройство не хочет Два порта на корпусе. Один работает, другой нет. USB-устройство не опознано Как получить номер КОМ-порта зная VID и PID Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|