Текущий архив: 2006.04.09;
Скачать: CL | DM;
ВнизНеполный перехват задач принтеров Найти похожие ветки
← →
Vile © (2006-01-16 13:41) [0]Как уже всем известно - отловить задачи принтеров не состовляет сложности. Проблема с которой я столкнулся заключается в том, что некоторые принтеры не отлавливаются функциями EnumJobs и FindFirstPrinterNotifycation и пр. В частности HP LaserJet 1300 и 1320, которые пользуются одним монитором: HP Master Monitor (на которого я впрочем и грешу). Что самое неприятное - виндовый диспетчер печати их задачи видит! Вообщем, хотелось бы услышать Ваши мысли и решения?!
...
OpenPrinter(PChar(FPrinterName), FPrinter, NIL);
...
FFinder := FindFirstPrinterChangeNotification(FPrinter, FFlags, 0, nil);
if FFinder = INVALID_HANDLE_VALUE then
try
while not Terminated do
if WaitForSingleObject(FFinder, 1) = WAIT_OBJECT_0 then
begin
if FindNextPrinterChangeNotification(FFinder, FFlags, nil, Pointer(FNotifyInfo)) then
begin
Synchronize(DoNotify);
FreePrinterNotifyInfo(FNotifyInfo);
end;
end;
finally
FindClosePrinterChangeNotification(FFinder);
end;
...
EnumJobs(FPrinter, 0, Length(aJobs), 2, @aJobs, cbBuf, pcbNeeded, pcReturned);
...
p.s. Забить, поставить свежие дрова и прочие подобные советы просьба не давать.
← →
Rouse_ © (2006-01-16 13:47) [1]Без монитора пробовал?
← →
tesseract © (2006-01-20 19:51) [2]HP ставит свои дрова, гад :-)
У меня такие- же принтеры. Согласно эмпирическим наблюдениям лучше присмотривай за портом, на какой подключён принтер (я так думаю они у тебя сетевые).
HP 1300 кстати намного более мощный с сетевой точки зрения.
Страницы: 1 вся ветка
Текущий архив: 2006.04.09;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.012 c