ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
1091283 Топик полностью
teap0t (07.04.2021 10:55, просмотров: 603) MBedder ответил Mahagam на реестр.
На Win2k/WinXP (про другие версии не знаю) в этой ветке реестра хранятся сведения о всех подключавшихся к системе последовательных портах. Они получают уникальный (очередной свободный после самого старшего, но не более 255) номер в момент идентификации по VID/PID и в дальнейшем всегда его используют (если насильно не удалить). При этом ветка не сообщает о реальном присутствии данного конкретного порта в системе именно сейчас. Я тут прикрепил свой код, который 

использует

Winapi для поиска имеющихся в данный момент портов, которые могут идти с пропусками (ну там, COM1, COM18, COM19...).


В win_api есть несколько функций, с помощью которых можно вытянуть все зарегистрированные устройства и отдельно все подключённые в данный момент. UPD Я добавил свой проект для VS6. Он собрался и работает. WXP. Офигеть ваще. К сожалению, пояснений никаких дать не могу за давностью лет. Изначально это был проект, найденный на CodeProject давно тому. Тогда я нашёл их два: один с массой отличных оценок и богатой документацией, другой с несколькими скупыми троечками. Первый был полный мертвяк, потому что использовал какую-то легаси библиотеку, которую из WXP была исключена. Второй без красивой документации, но совершенно беспроблемный. Те концы я, естественно, потерял, а предлагаемый код написан "по мотивам" и, насколько можно судить, совсем не использует кода из исходного примера.

010_Enum.zip

Это я, здравствуйте. http://the-epic-file.com/bookshelf.htm