Проста ща у меня стоит задача написать автоопределение устройств для терминала самообслуживания... какое устройство на каком Сом-е балтается, ищу более легкий путь... Который можно через QT реализовать.?
есть более по сложнее..
Это отправка на каждый существующий порт статуса устройств ... поочередно... если какой нить откликнулся то прикручиваем устройство к порту...
Вот именно через посыл запроса состояния с перебором скоростей и параметров настройки компорта вы только и сможете найти устройство подключенное к ком-порту.
У меня в проекте OTPD есть утилиты определения esc/pos принтера - перебор всех ком-портов, доступных скоростей и параметров сообщения (длиина и четность кажется).
Для комовых устройств вы можете работать через файл. Есть как минимум 3 проекта которые реализуют кроссплатформенную работу с ком-портом.
информацию о 2-х из них можно найти тут:
http://www.prog.org.ru/index.php?topic=9537.msg63319#msg63319(собственно ссылка на мой класс в топике проекта окторый делает аналогичный моему класс)
Устройства которые реализуют последовательный интерейс на USB - для которых в винде нужен драйвер виртуального компорта, в линуксе автоматически определяются как устройства вида /dev/USBtty0 или аналогичного имени (
у меня например таким образом без какихлибо драйверов обнаружился без каких-либо проблем девайс-переходник вида usb2com (к usb-порту подключаем com-устройство) - и проблем работы с ними не должно возникать - открываете этот файл как обычный файл последовательного устройства. (
по крайней мере линукосвый драйвер модема после принудительного указания порта работал без каких-либо проблем.)
имхо - работайте с COM-портом (виртуальным и реальным) как с файлом... ?
Определяет ли Windows где нить у себя какой это принтер или нет... или регистрирует где нибудь в реестре какой нить код...
Автоматически - нет. COM-порт - это старый добрый "old-скульный" девайс без "плаг-и-плея". но по своей простоте работает всегда и везде.
потому вы хотите поиметь виндовый драйвер принтера для ком-устройства - вы должны сделать все саим и руками - параметры подключения указать, и, фактически, подтвердить что "да - там такое устройство действительно есть"))))
(но к слову, виндовые драйвера принтеров чеков печатают медленно. Потому что виндовый драйвер рендерит картинку и шлет её на устройство, что через ком-порт происходит очень медленно)