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





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