Registriert seit: 29. Mai 2006
24 Beiträge
|
Re: Druckaufträge aus Warteschlange anzeigen
21. Apr 2009, 14:45
Hi,
ja gibt es. Ich denke mit folgendem Sourcecode solltest du weiterkommen:
Delphi-Quellcode:
procedure GetPrintJobs(Jobs: TStringList);
type
PJobs = ^TJobs;
TJobs = array[0..0] of TJobInfo2;
var
Needed, JobCounter: DWORD;
i: Integer;
Device, Driver, Port: array[0..255] of char;
hPrinter, hDeviceMode: THandle;
Buffer: Pointer;
Job: PJobs;
const
NoJobs = 100;
begin
Jobs.Clear;
Printer.PrinterIndex := -1;
Printer.GetPrinter(Device, Driver, Port, hDeviceMode);
if WinSpool.OpenPrinter(@Device, hPrinter, nil) then
begin
EnumJobs(hPrinter, 0, NoJobs, 2, nil, 0, Needed, JobCounter);
GetMem(Buffer, Needed);
try
Job := Buffer;
if EnumJobs(hPrinter, 0, NoJobs, 2, Buffer, Needed, Needed, JobCounter) then
for i := 0 to JobCounter - 1 do
Jobs.Add(Job[i].pDocument);
finally
FreeMem(Buffer, Needed);
end;
WinSpool.ClosePrinter(hPrinter);
end;
Jobs.Sort;
end;
Exceeder
|
|
Zitat
|