AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Druckjob aus dem Spooler löschen

Ein Thema von bernau · begonnen am 16. Okt 2006 · letzter Beitrag vom 18. Okt 2006
Antwort Antwort
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#1

Druckjob aus dem Spooler löschen

  Alt 16. Okt 2006, 13:31
Da ich mit meinem printer.abort-Problem nicht so richtig weiter komme, habe ich mir gedacht, einen vorhandenen Druckauftrag aus dem Spooler direkt zu löschen.

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
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Druckjob aus dem Spooler löschen

  Alt 16. Okt 2006, 13:36
Vielleicht hift Dir das bei Deinem Problem weiter: -> http://groups.google.de/group/borlan...2a512a3f5153f4

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Druckjob aus dem Spooler löschen

  Alt 16. Okt 2006, 13:38
Winspool.Setjob ist dafür vorgesehen
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Druckjob aus dem Spooler löschen

  Alt 18. Okt 2006, 09:11
Danke allen zusammen,


ich werde mich mal mit SetJob beschäftigen.

Schade, daß es dafür keinen Wrapper gibt


Gerd
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Druckjob aus dem Spooler löschen

  Alt 18. Okt 2006, 10:36
Wieso Wrapper? Aufzählen:
Delphi-Quellcode:
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;
Und Löschen:
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;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz