Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: COM-порты - как много?
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
yornik
Суть вопроса: сейчас, в отличие от времен ДОСа, COM-портов может быть много и разных - платы PCI-2-COM, устройства USB-2-COM, плюс BlueTooth профили, ... Надо некоторое свое устройство найти, где бы оно ни находилось, куда бы юзер его не приткнул. Причем устройство - не Plug-And-Play-ное (т.е. Винда сама его не найдет на COM-е - нету там сигналов, которые для COM-PnP нужны). Первый этап такого процесса - способ выбрать ЛЮБОЙ порт. Собственно вопрос: кроме цикла по CreateFile ("COMnnn", ...), где nnn - от 1 до 99(9...), что можно пользовать?
В MSDN есть много разного (вплоть до того, чем отличается последовательный порт - serial - от COM-порта smile.gif ), ключей в реестре много разных, API всяких. И совет: желательно дать возможность юзверю самому ввести, на каком порту устройство. Несмотря на совет, хотелось бы знать, что народ реально пользует, чтобы автоматом гарантированно перебрать все COM-порты.
Trashy
Простейший вариант QueryDosDevice. Более профессиональные запросы найдёшь по ссылке:

http://borland.xportal.ru/forum/viewtopic.php?t=15038
yuriyc
Один из популярных компонентов для Дельфи и Билдера AsincPro имеет функцию IsPortAvailable. Там именно перебор и делается с использованием функции CreateFile. По моему, лучшего метода для определения наличия портов и его статуса нет. Или я не в курсе blush.gif
Kurt
для NT функция QueryDosDevice, для Win9x перебором.
Во вложении функция заполняет CComboBox доступными портами.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.