Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.17;
Скачать: CL | DM;

Вниз

Отмена печати и очистка очереди на печать.   Найти похожие ветки 

 
Age   (2004-09-07 16:57) [0]

Уважаемые знатоки, как можно сделать, что бы программа при загрузке самостоятельно очищала очередь печати принтера на локальном компьютере и прерывала вывод на печать. Заранее благодарю.


 
Jeer ©   (2004-09-07 17:54) [1]

Написать такую программу с использованием EnumJobs(..) и SetJob(..)


 
Age   (2004-09-14 12:39) [2]

Procedure AbortJobs(sPrinterName: string;
var
 i: Integer;
 hPrinter: THandle;
 bResult: Boolean;
 cbBuf: DWORD;
 pcbNeeded: DWORD;
 pcReturned: DWORD;
 aJobs: array[0..99] of JOB_INFO_1;
begin
 cbBuf := 1000;

   bResult := OpenPrinter(PChar(sPrinterName), hPrinter, nil);

 if not bResult then
 begin
   MessageDlg("Не удалось открыть принтер.", mtError, [mbOK],0);
   exit;
 end;

 bResult := EnumJobs(hPrinter, 0, Length(aJobs), 1, @aJobs, cbBuf, pcbNeeded,
   pcReturned);
 if not bResult then
 begin
   MessageDlg("Не удалось открыть задания.", mtError, [mbOK],0);
   ClosePrinter(hPrinter);
  exit;
 end;

 If pcReturned = 0 then
 begin
 MessageDlg(Нет заданий на печать!", mtError, [mbOK],0);
 ClosePrinter(hPrinter);
 exit;
 end;

 for i := 0 to pcReturned - 1 do
 begin
   if aJobs[i].pDocument <> nil then
   begin
    bResult := SetJob( hPrinter, aJobs[i].JobId, 0, niL, JOB_CONTROL_DELETE); //Для NT,2000,XP
   //bResult := SetJob( hPrinter, aJobs[i].JobId, 0, niL, JOB_CONTROL_CANCEL);//Для 95,98,Me
   end;
 end;

ClosePrinter(hPrinter);

end;



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

Текущий архив: 2004.10.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.037 c
4-1094561825
Age
2004-09-07 16:57
2004.10.17
Отмена печати и очистка очереди на печать.


3-1095347649
LisOloG
2004-09-16 19:14
2004.10.17
D5.ado.dbase: неожиданный для АДО конец/начало


10-1047265554
Softik
2003-03-10 06:05
2004.10.17
Как выгрузить корректно из памяти ОЛЕ-объект? ведь присвоение


4-1094799173
nester
2004-09-10 10:52
2004.10.17
Как можно узнать когда закончила запускаться внешняя программа?


6-1092126243
nok6600
2004-08-10 12:24
2004.10.17
вопросы по winsock