Как получить номер USB-порта, на котором "сидит" подключенное устройство12.04.2016, 23:36. Показов 6618. Ответов 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|