![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Команды принтеру... |
|
Команды принтеру...
|
![]() Старожил Сообщения: 180 |
Хотелось узнать, где написано про команды, которые можно послать принтеру (Epson stylus 640) на выполнение? Почитал мануал, тоже нечего подходящего не нащел, вот код моего записыльщика в порт принтера ( DELPHI ):
Под Win16 Вы можете использовать функцию SpoolFile, или Passthrough escape, если принтер поддерживает последнее.Под Win32 Вы можете использовать WritePrinter. Ниже пример открытия принтера и записи чистого потока данных в принтер.Учтите, что Вы должны передать корректное имя принтера, такое, как "HP LaserJet5MP",чтобы функция сработала успешно. Конечно, Вы можете включать в поток данных любые необходимые управляющие коды,которые могут потребоваться. uses WinSpool; procedure WriteRawStringToPrinter(PrinterName:String; S:String); var Handle: THandle; N: DWORD; DocInfo1: TDocInfo1; begin if not OpenPrinter(PChar(PrinterName), Handle, nil) then begin ShowMessage('error ' + 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(S), Length(S), N); EndPagePrinter(Handle); EndDocPrinter(Handle); ClosePrinter(Handle); end; procedure TForm1.Button1Click(Sender: TObject); begin WriteRawStringToPrinter('HP', 'Test This'); end; |
|
------- Отправлено: 22:55, 22-01-2007 |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать nec 3540A
А зачем слать сырые команды, а не воспользоваться какими-нибудь более высокоуровневыми API? |
------- Отправлено: 23:47, 22-01-2007 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Старожил Сообщения: 180
|
Профиль | Отправить PM | Цитировать ivank
А поподробнее где можно про них прочитать? |
------- Отправлено: 19:55, 24-01-2007 | #3 |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать В MSDN написано, я там читал. В разделах GDI и Printing
|
Отправлено: 17:27, 28-01-2007 | #4 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Доступ - запрет доступа к принтеру | cyberdemon | Microsoft Windows 2000/XP | 1 | 03-08-2009 12:46 | |
Печать - Проблема с доступом к принтеру | voyager2009 | Сетевые технологии | 6 | 08-07-2009 07:56 | |
Доступ к принтеру | Qwass | Microsoft Windows 2000/XP | 8 | 19-10-2008 10:49 | |
Доступ к принтеру | Kirill NN | Microsoft Windows NT/2000/2003 | 11 | 28-08-2006 10:51 | |
Перехват обращения к принтеру | knzsoft | Программирование и базы данных | 4 | 25-03-2006 23:13 |
|