Druckereinstellungen abfragen
Hin und wieder muß man einfach wissen wie die aktuellen Druckereinstellungen bzw. andere Drucherparameter lauten.
Dazu gibt es in der Win32 den Befehl “getprinter”. Unter Delphi kann man dies mit folgendem Stück Quellcode einfach abfragen:
var
driver : array[0..79] of char;
info : PPrinterInfo2;
nBytes : integer;
handle : Thandle;
hGlobal : THandle;
defaults : tprinterdefaults;
s:string;
begin
s := 'Kyocera FS-1000'; //der Druckername
strcopy(driver, pchar(s));
defaults.pDataType := nil;
defaults.pDevMode := nil;
defaults.DesiredAccess := PRINTER_ALL_ACCESS;
openprinter(driver, handle, @defaults);
GetPrinter(handle, 2, nil, 0, @nBytes);
hGlobal := GlobalAlloc(GHND, nBytes);
info := PPrinterInfo2(GlobalLock(hGlobal));
GetPrinter(handle, 2, info, nBytes, @nBytes);
showmessage('Der Drucker hat gerade soviele Aufträge noch zu drucken: '+inttostr(info^.cJobs));
if (info^.pDevMode^.dmFields and DM_PRINTQUALITY > 0) then
begin
//DMRES_HIGH
showmessage('Die aktuelle Auflösung beträgt: '+inttostr(info^.pDevMode^.dmPrintQuality));
end;
closeprinter(handle);
GlobalUnlock(hGlobal);
GlobalFree(hGlobal);
end;
Dies kann natürlich an die eigenen Bedürfnisse angepasst werden. Hilfe liefert auch die WIN32 Dokumentation über den Befehl GetPrinter und dann z.B. PRINTER_INFO_2 und DEVMODE.