Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Принтер [D5, Win2k]


Roadstar ©   (2004-08-27 11:45:00) 

Доброго времени суток!
Возникла такая проблема: как произвести диагностику принтера, т.е. если он вообще, есть ли в нем бумага, готов и исправен и т.д.
Где можно получить такую информацию?
Заранее благодарен.


Rem   (2004-08-27 15:31:00) [1]

cnt := sizeof(_PRINTER_INFO_2);


Анатолий   (2004-08-27 15:29:00) [2]

Что говорит GetLastError ?


Roadstar   (2004-08-27 15:16:00) [3]


> Rem  


неа, какое-то число


Rem   (2004-08-27 15:06:00) [4]

Printer.Handle = NULL?


Roadstar   (2004-08-27 14:53:00) [5]


> Анатолий

Кстати, хотел использовать функцию GetPrinter, однако она у меня не хочет работать!
Вот код:

...
var
pi : PPrinterInfo2;
cnt : integer;
begin
if Printer.Printers.Count > 0 then
 begin
  GetMem(pi, sizeof(_PRINTER_INFO_2));
  ZeroMemory(pi, sizeof(_PRINTER_INFO_2));
  cnt := 255;
  if not GetPrinter(Printer.Handle, 2, pi, sizeof(_PRINTER_INFO_2), @cnt) then
...

Так вот эта функция при таком раскладе всегда FAIL!
Че я не так сделал?


Анатолий   (2004-08-27 14:18:00) [6]


> Roadstar  

А, ну если это подошло, обратите внимание, чтобы "LPT" был не именованым каналом спулера печати, а символьной ссылкой на драйвер, о котором в статье идет речь. А то в В2000 так может быть. Лучше создайте свою симв. ссылку при помощи
DefineDosDevice(DDD_RAW_TARGET_PATH, SymbLink, DeviceName)


Roadstar   (2004-08-27 13:55:00) [7]


> Анатолий  

Спасибо за совет!


Анатолий   (2004-08-27 12:51:00) [8]

Вообще-то Rem прав про то, что такую информацию инкапсулирует ОС.

Хотя бывают случаи, когда спулером не воспользуешся. Тогда посмотрите

http://junglewin.narod.ru/lpt.html


Rem   (2004-08-27 11:50:00) [9]

Вообще-то такую информацию инкапсулирует ОС. В общем случае пусть этим ОС и занимается. Но если уж так нужно, см. "Printing and Print Spooler Functions" и "Printing and Print Spooler Structures". Это из WinAPI.


Наверх

Титульная страница Поиск, карта сайта Написать письмо