Jump to content

    

COM-порты - как много?

Суть вопроса: сейчас, в отличие от времен ДОСа, COM-портов может быть много и разных - платы PCI-2-COM, устройства USB-2-COM, плюс BlueTooth профили, ... Надо некоторое свое устройство найти, где бы оно ни находилось, куда бы юзер его не приткнул. Причем устройство - не Plug-And-Play-ное (т.е. Винда сама его не найдет на COM-е - нету там сигналов, которые для COM-PnP нужны). Первый этап такого процесса - способ выбрать ЛЮБОЙ порт. Собственно вопрос: кроме цикла по CreateFile ("COMnnn", ...), где nnn - от 1 до 99(9...), что можно пользовать?

В MSDN есть много разного (вплоть до того, чем отличается последовательный порт - serial - от COM-порта :) ), ключей в реестре много разных, API всяких. И совет: желательно дать возможность юзверю самому ввести, на каком порту устройство. Несмотря на совет, хотелось бы знать, что народ реально пользует, чтобы автоматом гарантированно перебрать все COM-порты.

Share this post


Link to post
Share on other sites

Один из популярных компонентов для Дельфи и Билдера AsincPro имеет функцию IsPortAvailable. Там именно перебор и делается с использованием функции CreateFile. По моему, лучшего метода для определения наличия портов и его статуса нет. Или я не в курсе :blush:

Share this post


Link to post
Share on other sites

для NT функция QueryDosDevice, для Win9x перебором.

Во вложении функция заполняет CComboBox доступными портами.

enumerate_ports.zip

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this