|
Информация о COM портах |
|
|
|
Dec 20 2014, 11:59
|
Участник

Группа: Участник
Сообщений: 50
Регистрация: 27-06-07
Пользователь №: 28 739

|
Как программно выяснить какие порты в ПК задействованы и их параметры? В первую очередь интересует какие устройства к ним подключены, параметры обмена (скрость, чётность и т.д.), занят порт приложенем или нет. На первых порах было бы достаточно информации, которую выдаёт диспетчер устройств. Просматривал такие варианты: 1. Программа devcon от Microsoft http://support.microsoft.com/kb/311272 , но для её использования есть существенное НО, она может использоваться только под администратором. 2. Программа msinfo32 http://www.windowsfaq.ru/content/view/122/57/ , но информацию с неё можнополучить только через создаваемый ею текстовый файл, что меня не устраивает. Не устраивает не то, что он текстовый, а то, что это файл вне программы. Кто чего может предложить?
|
|
|
|
|
 |
Ответов
|
Dec 20 2014, 13:30
|
Участник

Группа: Участник
Сообщений: 50
Регистрация: 27-06-07
Пользователь №: 28 739

|
Цитата(kovigor @ Dec 20 2014, 16:13)  Задействованы ? Попробуйте открыть порт. Если вы получите ошибку, значит, порт чем-то занят . Например, к нему подключены мышь или модем. Почитайте статью Титова Олега: http://ir.nmu.org.ua/bitstream/handle/1234....pdf?sequence=1Если порт занят, то его не открыть и, соответственно, программно поизучать его нет возможности. Максимум, что с помощью API для моих нужд можно сделать, так это увидеть какие порты используются. А ссылка очень полезная, спасибо, первый раз увидел такую глубокую и полную информацию.
Сообщение отредактировал schulgin - Dec 20 2014, 13:32
|
|
|
|
|
Dec 20 2014, 13:38
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(schulgin @ Dec 20 2014, 17:30)  Если порт занят, то его не открыть и, соответственно, программно поизучать его нет возможности. Максимум, что с помощью API для моих нужд можно сделать, так это увидеть какие порты используются. Не сомневаюсь, честно говоря, что это так. ИМХО, максимум, что вы можете сделать - это запросить соотв. информацию у ОС. А вот отуда она ее возьмет - вопрос. Разумно предположить, что прочитает из реестра. Но вот отуда именно - вопрос. Нужно искать в Сети ...
|
|
|
|
|
Dec 20 2014, 15:51
|
Участник

Группа: Участник
Сообщений: 50
Регистрация: 27-06-07
Пользователь №: 28 739

|
Цитата(kovigor @ Dec 20 2014, 17:38)  Не сомневаюсь, честно говоря, что это так. ИМХО, максимум, что вы можете сделать - это запросить соотв. информацию у ОС. А вот отуда она ее возьмет - вопрос. Разумно предположить, что прочитает из реестра. Но вот отуда именно - вопрос. Нужно искать в Сети ... Собственно говоря, этот путь мне видется наиболее реальным. Всего то нужно прочитать, что находится в диспетчере устройств в разделе "Порты".
|
|
|
|
|
Dec 20 2014, 23:46
|

Гуру
     
Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237

|
Цитата(kovigor @ Dec 20 2014, 22:29)  Реестровые ключи годятся только для "стационарных" COM-портов, выполненных на материнской плате или на плате, втыкаемой в ее слот. Те же порты, которые являются витуальными порождениями USB/COM-конверторов или USB CDC устройств, выполненных на МК, записываются в реестр лишь однажды (в момент первой инсталляции), а потому реестр (как и функции по работе с ним) показывают наличие таких CОМ-портов даже в том случае, если они реально отсутствуют (т.е. в последствии были выдернуты из USB-разъема). По этой причине реестровые функции практически бесполезны для обнаружения активных COM-портов, поскольку встроенные порты обычно всегда имеют имена COM1 и COM2 по умолчанию, а порты с большими номерами являются виртуальными, на счет которых реестровые функции лгут. Реестровые функции могут представлять интерес только в том случае, если требуется прочесть тип/имя CОМ-порта. Например, чтобы отличить Bluetooth или телефонный модем от остальных COM-портов.
|
|
|
|
Сообщений в этой теме
schulgin Информация о COM портах Dec 20 2014, 11:59       Xenia Цитата(megajohn @ Dec 21 2014, 04:36) вот... Dec 21 2014, 02:24 Lagman В примерах к QT (в последней версии) есть такая пр... Dec 20 2014, 18:42 schulgin Цитата(Lagman @ Dec 20 2014, 22:42) В при... Dec 20 2014, 19:20 редактор Фрагмент компонента под Builder6 - пользую давно (... Dec 22 2014, 08:37 schulgin Цитата(редактор @ Dec 22 2014, 12:37) Фра... Dec 22 2014, 14:52  toweroff Цитата(schulgin @ Dec 22 2014, 17:52) Наи... Dec 22 2014, 18:32 SM Цитата(schulgin @ Dec 20 2014, 14:59) 2. ... Dec 22 2014, 19:01 schulgin Цитата(SM @ Dec 22 2014, 23:01) Для созда... Dec 23 2014, 16:24  SM Цитата(schulgin @ Dec 23 2014, 19:24) То ... Dec 24 2014, 08:14   schulgin Цитата(SM @ Dec 24 2014, 12:14) В таком с... Dec 24 2014, 15:28    SM Цитата(schulgin @ Dec 24 2014, 18:28) Ник... Dec 24 2014, 15:39 toweroff Попробовал код в посте редактора.
Реально видно то... Dec 22 2014, 20:59 ДЕЙЛ попалось случайно на глаза http://articles.org.ru/... Dec 22 2014, 21:57 toweroff SM, а, при других общих, какой смысл в мсинфо, есл... Dec 24 2014, 15:45 SM Цитата(toweroff @ Dec 24 2014, 18:45) SM,... Dec 24 2014, 15:47
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|