Форум: "Основная";
Текущий архив: 2004.09.12;
Скачать: [xml.tar.bz2];
ВнизПринтер Найти похожие ветки
← →
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 вся ветка
Форум: "Основная";
Текущий архив: 2004.09.12;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.031 c