Witam,
w jaki sposób mogę przechwycić informacje takiej jak:
- do jakiej drukarki został wysłany plik do drukowania
- jaki plik został wydrukowany
- ile stron miał wysłany dokument
- na jaki port
Witam,
w jaki sposób mogę przechwycić informacje takiej jak:
dobra znalazłem na google
Function GetSpoolerJobs(sPrinterName : String) : JOB_INFO_1_ARRAY;
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
ShowMessage('Error opening the printer');
exit;
end;
bResult := EnumJobs(hPrinter,0,Length(aJobs),1,@aJobs,cbBuf,pcbNeeded,pcReturned);
if NOT bResult then begin
ShowMessage('Error Getting Jobs information');
exit;
end;
ClosePrinter(hPrinter);
for i:=0 to pcReturned-1 do begin
if aJobs[i].pDocument <> Nil then begin
SetLength(Result, Length(Result)+1);
Result[Length(Result)-1] := aJobs[i];
end;
end;
end;
dodatkowo bym chciał uruchomić procedurkę w momencie kiedy puszczę coś na drukarkę a nie pobierać tych informacji w timerze.
Proszę o pomoc w tych sprawach
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.