![]() |
Druckjob aus dem Spooler löschen
Da ich mit meinem
![]() Leider hat die Suchen-Funktion mir hier nicht weiter geholfen. (Bestimmt habe ich wieder die falschen Suchbegriffe verwendet) Kennt jemand eine Procedure, die einen Druckjob aus dem Spooler löscht? Gerd |
Re: Druckjob aus dem Spooler löschen
Vielleicht hift Dir das bei Deinem Problem weiter: ->
![]() Grüße Klaus |
Re: Druckjob aus dem Spooler löschen
![]() |
Re: Druckjob aus dem Spooler löschen
Danke allen zusammen,
ich werde mich mal mit SetJob beschäftigen. Schade, daß es dafür keinen Wrapper gibt :-( Gerd |
Re: Druckjob aus dem Spooler löschen
Wieso Wrapper? Aufzählen:
Delphi-Quellcode:
Und Löschen:
procedure EnumerateSpoolJobs(PrinterName : String; JobList : TStrings);
var aJobs : Array[0..99] of JOB_INFO_1; cbBuf : DWORD; pcbNeeded : DWORD; pcReturned : DWORD; hPrinter : THandle; i : integer; begin OpenPrinter(PChar(PrinterName) ,hPrinter, Nil); cBBuf := 1000; EnumJobs(hPrinter, 0, 1000, 1, @aJobs, cbBuf, pcbNeeded, pcReturned); for i := 0 to pcReturned -1 do begin JobList.AddObject(Format('%d - %s %s %s %d' , [aJobs[i].JobId, strpas(aJobs[i].pDocument), strpas(aJobs[i].pStatus), strpas(aJobs[i].pUserName), aJobs[i].TotalPages]), @aJobs[i]); end; ClosePrinter(hPrinter); end;
Delphi-Quellcode:
procedure DeletePrintJob(PrinterName : string; const JobId : Cardinal);
var hPrinter : THandle; begin OpenPrinter(PChar(PrinterName) ,hPrinter, Nil); SetJob(hPrinter, JobId, 0, 0, JOB_CONTROL_CANCEL); <<<<< Ich hoffe, für diese Zeile wird nicht noch ein "Wrapper" benötigt ClosePrinter(hPrinter); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz