30.08.2006, 21:48
общий
это ответ
Здравствуйте, Whitemen!
Если принтер подключен к USB, то так просто вывести данные на принтер не получится.
Использовать USB принтер под DOS маловероятно (врят ли у вас есть такие драйверы), а под Windows, если NT - произойдет исключение (т.к. команды outs и ей подобные запрещены для рядовых приложений), если 9х - то ничего дельного не выйдет.
Дело в том что для каждого принтера USB кроме определнных правил передачи данных через интерфейс (USB) - существуют свои прикладные протоколы, известные только разарботчикам, принтеру и его драйверам. Поэтому, даже найдя в DOS‘е нужный номер порта USB, принтер ничего дельного не выдаст, собственно как и в Windows 9x.
Вообще для любого Windows‘a все делается без заморочек и гораздо проще:
Вариант 1:
1. Создаем новый DC, ассоциированный с соответтсвующим принтером,
2. Определяем возможнотси принтера (может печатать только текст, еще и графику и пр.)
3. Рисуем на нем все, что хотим, или что принтер сможет отобразить
4. Отправляем на принтер (указываем разбиение на странички, выравнивание и т.п.)
5. Удаляем DC
Вариант 2:
1. Запрашиваем DC нужного принтера у Windows,
2. Определяем возможнотси принтера,
3. Рисуем на DC и пр.
4. Печатаем.
5. Освобождаем DC.