Standarddrucker setzen |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
Mit Hilfe dieser Funktion/Procedure kannst Du den Standarddrucker im System festlegen:
Diese Procedure setzt den Standarddrucker. Als Parameter muss die Bezeichnung des Druckers übergeben werden:
var
ResStr : array[0..255] of char;
begin
StrPCopy(ResStr,NewdefPrinter);
WriteProfileString ('windows', 'device', ResStr);
StrCopy (ResStr, 'windows');
SendMessage (HWND_BROADCAST, WM_WININICHANGE, 0, LongInt(@ResStr));
end;
Die Bezeichnungen lassen sich mit dieser Funktion ermitteln:
var
pri : integer;
hDeviceMode : THandle;
Device,Driver,Port : array[0..255] of char;
s,ResStr : array[0..255] of char;
begin
pri:=Printer.PrinterIndex;
Printer.PrinterIndex:=index;
Printer.GetPrinter(Device,Driver,Port,hDeviceMode);
// Arbeitet nicht richtig, deswegen korrekten String aus WIN.INI abfragen
GetProfileString('Devices',Device,'',ResStr,255);
StrCopy (s, Device);
StrCat (s, ',');
StrCat (s, ResStr);
Result:=string(s);
Printer.PrinterIndex:=pri;
end;
Es muss zusätzlich noch die Unit Printers eingefügt werden.