Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/37: Рейтинг темы: голосов - 37, средняя оценка - 4.76
14 / 14 / 2
Регистрация: 26.12.2009
Сообщений: 28

Определение USB-модема в системе

25.03.2012, 10:19. Показов 7510. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется USB-модем МТС, как найти его в системе? Имею в виду определить имя и порт к которому подключен. Лучше, чтобы список модемов отображался в ComboBox)

Добавлено через 17 часов 54 минуты
Неужели никто не знает?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.03.2012, 10:19
Ответы с готовыми решениями:

раздача с usb модема по wi-fi
Здравствуйте форумчане. Подскажите пожалуйста. Имеется ПК, ноутбук, USB модем и модем TP-Link TD-W8901G, ОС: Windows 7. Можно ли раздать...

Реконнект USB модема
Стоит задача осуществить реконнект 3G модема по средствам языка С#, с целью изменения ip адреса. Думал сделать по средствам управления СОМ...

Настройки модема (USB)
Есть модем HUAWEI c200. Я написал самую простую , программку которая бы читала входящие СМС. С модемом я связываюсь по COM порту...

3
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
25.03.2012, 10:40
Лучший ответ Сообщение было отмечено _lunar_ как решение

Решение

Работа с USB: программа не видит устройства
0
1 / 1 / 0
Регистрация: 28.03.2012
Сообщений: 29
05.03.2016, 21:01
C#
1
SerialPort.GetPortNames();
0
74 / 62 / 26
Регистрация: 05.08.2014
Сообщений: 218
15.08.2016, 23:43
Qnil, SerialPort.GetPortNames() берет имена портов из реестра (HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\S ERIALCOMM). Этот метод вывалит вам имена всех когда-либо подключенных устройств, как активных, так отключенных. Посмотрите на картинку с реестром и определите данным методом, какие порты занимает в данный момент мой модем? Это как тыкать пальцем в небо, особенно, когда список больше.

Как правило, имеем 2 COM порта модема (которые реально нужны): командный порт и порт для передачи данных. См. вторую картинку. 3G Application Interface используется для передачи данных, например, звука. Через PC UI Interface мы общаемся с мопедом.

А вот пример реализации поиска этих портов (через WMI):

C#
1
2
3
4
5
6
7
8
            using (var managementObjectSearcher = new ManagementObjectSearcher("SELECT * FROM Win32_PnPEntity WHERE Caption like '%(COM%'"))
            {
                string[] portNames = SerialPort.GetPortNames();
                IEnumerable<string> ports = managementObjectSearcher.Get().Cast<ManagementBaseObject>().ToList().Select(p => p["Caption"].ToString());
 
                Settings.ServiceComPort = portNames.FirstOrDefault(x => ports.Any(p => p.Contains(x) && p.Contains("3G PC UI Interface")));
                Settings.AppComPort = portNames.FirstOrDefault(x => ports.Any(p => p.Contains(x) && p.Contains("3G Application Interface")));
            }
ServiceComPort отдаст "COM10"
AppComPort отдаст "COM8"

Далее юзаете, например:
C#
1
2
SerialPort srvPort = new SerialPort(Settings.ServiceComPort);
SerialPort appPort = new SerialPort(Settings.AppComPort);
Почему такой костыль? Дело в том, что таблица Win32_PnPEntity содержит сведения о подключенных в данный момент устройствах. Отключенных там нет. Это почти тот же список диспетчера устройств. Там и будут названия наших устройств, например, "HUAWEI Mobile Connect - 3G PC UI Interface (COM10)". Единственное, что нам нужно для поиска - это описание устройства. Оно не изменяется и зависит от драйвера, который устанавливается 1 раз. Да, возможно скажете вы, можно просто выдрать (через Substring и IndexOf("COM.......) COM10 из вышепредставленной строки и не городить LINQ огород. Да можно. Но это код из моего приложения и на этот огород у меня есть причины. И.. я люблю по-моему
Миниатюры
Определение USB-модема в системе   Определение USB-модема в системе  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.08.2016, 23:43
Помогаю со студенческими работами здесь

Мониторинг USB-модема
Есть USB-модем Yota подключённый к роутеру Zyxel Keenetic Giga. Периодически модем так сильно «устаёт» что интернет пропадает наглухо -...

Программная блокировка usb 3G модема.
Доброго времени суток уважаемые жители форума. По работе столкнулся с проблемой необходимости блокировки usb 3g модемов. Имеются рабочие...

Ответы usb модема на AT команды
Здравствуйте. Пишу софтинку, которая должна считывать входящие сообщения с usb модема. Работает она с ним как с COM-портом. Проблема в том,...

STM32 в роли USB 3G модема
Здравствуйте. Подскажите пожалуйста, может кто-то видел что-то подобное. Схема примерно такая -- GSM модем SIM900--&gt;...

Опрос USB модема в Linux
При подключении создается ttyUSB3, который надо опросить. Возможность установить какое-либо ПО отсутствует, т.к. линукс установлен на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru