powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как в ДОС сессии напечатать через Windows принтер?
12 сообщений из 12, страница 1 из 1
Как в ДОС сессии напечатать через Windows принтер?
    #33071807
Marmeladik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема вот в чем, шоб печатать из ДОС, но шоб печатью занималась винда, а то просто вывод на лпт, то краказябы, или ставить драйвер под дос, и под виндой неважно какой принтер: струйный, лазерный и тд и тп, я видел в БЭСТ, в настройках принтера есть WIN принтер, как вызывать виндовыые функции, а то придётся под разные принтеры каждый раз чего то новое писать
...
Рейтинг: 0 / 0
Как в ДОС сессии напечатать через Windows принтер?
    #33071985
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что ты понимаешь под "DOS-сессией" ? Окно консоли ?
...
Рейтинг: 0 / 0
Как в ДОС сессии напечатать через Windows принтер?
    #33072036
Фотография rrrrrrrrrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть стандартный для этих ситуаций выход - загрузка шрифтов на принтер. Скачайте Hewlett-Packard'овский DL5 и вставьте в автозагрузку. Минус только один - стоит выключить принтер, как шрифты надо грузить снова. Хотя занимает по времени секунд 10.
Или ищите спецутилиты к вашей ДОС-программе. Для БЭСТ4 - Сервер печати и Сервер отчетов, twview95, etc. Для других - не знаю, не смотрел.
Хотя вы же тут программисты - можете и сами написать копирование шрифтов на LPT-порт или передачу win-программе ДОС-кодированного файла как параметра...
...
Рейтинг: 0 / 0
Как в ДОС сессии напечатать через Windows принтер?
    #33072043
Фотография Denis Lee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
странные вопросы ты задаёшь
...
Рейтинг: 0 / 0
Как в ДОС сессии напечатать через Windows принтер?
    #33072044
Фотография Denis Lee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что ты хочешь печатать графику/текст
...
Рейтинг: 0 / 0
Как в ДОС сессии напечатать через Windows принтер?
    #33072059
Фотография Denis Lee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообщето разницы нет откуда и что отправлять. как я понял тебе нужен текст
вот у меня есть кусок кода для отправки текста - работает нормально - правда на delphi - труда не сотсавит тебе переписаьт на С++

procedure WriteRawStringToPrinter(PrinterName:String; S:String);
var
Handle: THandle;
N: Longword;
DocInfo1: TDocInfo1;

Begin
If not OpenPrinter(PChar(PrinterName), Handle, nil) Then
Begin
ShowMessage('Ошибка :'+IntToStr(GetLastError));
Exit;
End;
With DocInfo1 do
Begin
pDocName:=PChar('test doc');
pOutputFile:=nil;
pDataType:='RAW';
End;
StartDocPrinter(Handle, 1, @DocInfo1);
StartPagePrinter(Handle);
WritePrinter(Handle, PChar(toASCII(S)), Length(S), N);
EndPagePrinter(Handle);
EndDocPrinter(Handle);
ClosePrinter(Handle);
End;
...
Рейтинг: 0 / 0
Как в ДОС сессии напечатать через Windows принтер?
    #33072063
Фотография Denis Lee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Win API - оно и в АФРИКЕ API
...
Рейтинг: 0 / 0
Как в ДОС сессии напечатать через Windows принтер?
    #33072072
Фотография Denis Lee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если хотишь графику отправлять ту в нете примеров - нимерено
...
Рейтинг: 0 / 0
Как в ДОС сессии напечатать через Windows принтер?
    #33073918
Marmeladik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответы, но не много не то
Дос сессии - это значит я запускаю из винды 2к/ХР/98 16-разрядную программу под ДОС, в программе вполне легально могу вызвать функцию печати виндовую, шоб не загружать шрифты, и тд и тп., шоб привязку к принтеру отдать драйверу принтера, выше был пример про HP принтер, а если у меня стоит USB какой нить без поддержки печати под дос, тогда шо? Вот я и хочу узнать как вызвать и какую, лучьше бы как нить стандартно для ДОС
mov ax, xx
mov bx, xx
mov dx, xx
int 21 (или какую нибудь другой номер %))
Вот примерно так, шоб печатать текст, но с черточками
в смысле отчеты, таблицы.
...
Рейтинг: 0 / 0
Как в ДОС сессии напечатать через Windows принтер?
    #33076080
VNS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему нельзя под виндой? Почему обязательно в досе?
...
Рейтинг: 0 / 0
Как в ДОС сессии напечатать через Windows принтер?
    #33077679
Marmeladik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в Dos по следующей причине, часть рабочих станций под DOS, часть под виндой, соответственно будет работать там и там, где винда стоит стоят лазерники, струйники. Можно в принципе и под винду переписать, но приложение все равно консольное, и переписывать надо. Нашел такой способ, печать в файл, в кодировке ср1251, потом exec notepad report.txt, потом пользователь вручную файл->печать, как то это некрасиво. Сразу бы из прграммы, но шоб эта прога могла работать под дос, половина компов 386sx16 с 4 метрами, а кол-во такое шо начальство начинает багроветь при мысле о замене на шото с 256 метрами памяти.
...
Рейтинг: 0 / 0
Как в ДОС сессии напечатать через Windows принтер?
    #33078086
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посылай свой поток на печать через спец-файл PRN. Просто открываешь в своей программе PRN на запись и пишешь туда.
Для DOS это совсем-совсем родной способ печати, а в виндах возможно прийдется проверить в настройках принтеров чтобы PRN показывал на тот принтер который нужно (в случае если у тебя несколько принтеров конечно).

Но шрифты загружать все равно прийдется :) Либо прошивать ПЗУ у принтера. Во времена онные существовали резидентные программы под ДОС которые перехватывали 21-ое и пятое прерывание и перед каждой печатью посылали в принтер свои собственные шрифты. А потом уже заказаный пользователем поток. И никто не жаловался :)
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как в ДОС сессии напечатать через Windows принтер?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]