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

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

← →
Bacardi   (2007-05-18 20:50) [0]

Как очистить очередь печати принтера?


← →
Rouse_ ©   (2007-05-19 12:23) [1]

uses ..., WinSpool;

procedure TForm1.Button1Click(Sender: TObject);
var
 PrintersInfo, TmpPrintersInfo: PPrinterInfo1;
 pcbNeeded, pcReturned, jpcbNeeded, jpcReturned: DWORD;
 I, J: Integer;
 hPrinter: THandle;
 JobInfo, TmpJobInfo: PJobInfo3;
begin
 EnumPrinters(PRINTER_ENUM_LOCAL, nil, 1, PrintersInfo, 0, pcbNeeded,  pcReturned);
 if GetLastError = ERROR_INSUFFICIENT_BUFFER then
 begin
   GetMem(PrintersInfo, pcbNeeded);
   try
     if EnumPrinters(PRINTER_ENUM_LOCAL, nil, 1,
       PrintersInfo, pcbNeeded, pcbNeeded,  pcReturned) then
     begin
       TmpPrintersInfo := PrintersInfo;
       for I := 0 to pcReturned - 1 do
       begin
         if OpenPrinter(TmpPrintersInfo^.pName, hPrinter, nil) then
         begin
           EnumJobs(hPrinter, 0, 100, 1, nil,
             0, jpcbNeeded, jpcReturned);
           if GetLastError in [NO_ERROR, ERROR_INSUFFICIENT_BUFFER] then
           begin
             GetMem(JobInfo, jpcbNeeded);
             try
               if EnumJobs(hPrinter, 0, 100, 3, JobInfo,
                 jpcbNeeded, jpcbNeeded, jpcReturned) then
               begin
                 TmpJobInfo := JobInfo;
                 for J := 0 to jpcReturned - 1 do
                 begin
                   if not SetJob(hPrinter, TmpJobInfo^.JobId, 0,
                     nil, JOB_CONTROL_DELETE) then RaiseLastOSError;
                   Inc(TmpJobInfo);
                 end;
               end
               else
                 RaiseLastOSError;
             finally
               FreeMem(JobInfo);
             end;
           end
           else
             RaiseLastOSError;
         end
         else
           RaiseLastOSError;
         Inc(TmpPrintersInfo);
       end;
     end
     else
       RaiseLastOSError;
   finally
     FreeMem(PrintersInfo);
   end;
 end
 else
   RaiseLastOSError;
end;


← →
Bacardi   (2007-05-19 16:00) [2]

спасибо



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

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



Память: 0.45 MB
Время: 0.014 c
2-1194697560
alikon1
2007-11-10 15:26
2007.12.02
Конвертирование из поля Edit в нормальный знак.


2-1194345939
mrFreeman2007
2007-11-06 13:45
2007.12.02
ID3-тэги mp3-файлов


2-1194706325
no3ep
2007-11-10 17:52
2007.12.02
изменение времени


1-1183585378
АлександрМ
2007-07-05 01:42
2007.12.02
Как подавить реакцию TTreeView на двойной клик?


5-1163595817
Vladix
2006-11-15 16:03
2007.12.02
Прозрачный компонент (наследник TWinControl)




   Наверх