Вниз
Скачать: CL | DM;

Принтер   Найти похожие ветки 

 
Roadstar   (2004-08-27 11:45) [0]

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


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

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


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

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

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

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


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


> Анатолий  

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


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


> Roadstar  

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


 
Roadstar   (2004-08-27 14:53) [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!
Че я не так сделал?


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

Printer.Handle = NULL?


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


> Rem  


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


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

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


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

cnt := sizeof(_PRINTER_INFO_2);



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
10-1036587142
49
2002-11-06 15:52
2004.09.12
клиент не может найти orbpas50.dll


1-1093386476
3APA3A
2004-08-25 02:27
2004.09.12
2 дополнительных потока при использовании TActionManager


1-1093505122
O?O
2004-08-26 11:25
2004.09.12
Инсталятор


3-1092642931
Марат
2004-08-16 11:55
2004.09.12
Memo


1-1093517944
aleks-ran
2004-08-26 14:59
2004.09.12
Возврат значения (ий) в вызывающую форму




   Наверх