Главная страница | назад





Article #17618: Changing windows default printer in code.

 Question and Answer Database
FAQ2618D.txt — Changing windows default printer in code.
Category :Printing
Platform :All-32Bit
Product :
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;
4/2/99 11:25:11 AM

Last Modified: 01-SEP-99