Mega Code Archive

 
Categories / Delphi / Printing
 

To change the default printer in Windows

Title: to change the default printer in Windows Question: How can I change the default printer in Windows? Answer: If you want to change the the default printer in Windows OS, you must change the device key in the Windows section of the WIN.INI. After that you must send a WM_WININICHANGE message: var strIni: array[0..MAX_PATH] of Char; arrWindows: array[0..64] of Char; begin GetWindowsDirectory(strIni, SizeOf(strIni)); StrCat(strIni, '\win.ini'); with TIniFile.Create(strIni) do try WriteString('windows', 'device', 'HP LaserJet 4 Plus,HPPCL5MS,LPT1:'); finally Free; end; StrCopy(arrWindows, 'windows'); SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, LongInt(@arrWindows)); end;