Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Windows-Standarddrucker setzen

10 views
Skip to first unread message

Olaf Glaeske

unread,
Sep 2, 1998, 3:00:00 AM9/2/98
to
Ich habe ein Problemchen:

Ich muß aus einer Delphi-2-Anwendung den Standarddrucker im Windows
wechseln. Ich erstelle per DDE einen Ausdruck in Winword 6.0. Hier lasse ich
vorher per DDE von Word den Standarddrucker wechseln (weil Word 6 ja nur auf
dem Standarddrucker drucken kann). Nachher ist aber das Problem, daß der
Drucker immer noch Standarddrucker bleibt. Ich möchte aber nun hinterher den
Urzustand wiederherstellen (den alten Standarddrucker wieder einstellen).

Gibts es da eine Möglichkeit (evtl. über die WinAPI oder irgendeine
Komponente)?

Danke für Eure Hilfe

Olaf

Andreas Hallermann

unread,
Sep 2, 1998, 3:00:00 AM9/2/98
to
Olaf Glaeske schrieb in Nachricht <6sjev5$cri$1...@trader.ipf.de>...
Hi Olaf,
auf der Inprise-Delphi-Homepage findet sich ein sehr gutes FAQ.
Daraus zitiert (aber nicht ausprobiert!):

Frequently Asked Questions
Changing windows default printer in code.
Question:
How do I change the default Windows printer?
Answer:
You need to change the printer, driver, and port as listed in the
device key of the Windows section in the Windows.ini file, then
broadcast a system wide WM_WININICHANGE message.

Example:

procedure TForm1.Button1Click(Sender: TObject);
var
WinIni : TIniFile;
WinIniFileName : array[0..MAX_PATH] of char;
s : array[0..64] of char;

begin
GetWindowsDirectory(WinIniFileName, sizeof(WinIniFileName));
StrCat(WinIniFileName, '\win.ini');
WinIni := TIniFile.Create(WinIniFileName);
try
WinIni.WriteString('windows',
'device',
'HP LaserJet Series II,HPPCL,LPT1:');
finally
WinIni.Free;
end;

StrCopy(S, 'windows');
SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, LongInt(@S));
end;


--
email:
A.Hall...@aha.ping.de
or Andreas.H...@gmx.de
-


0 new messages