Mega Code Archive

 
Categories / Delphi / API
 

Programatically installing printer driver

Question: My application uses a custom print dirver. Is it possible to silently install a print driver in Windows 3.1 or Windows 95 without user intervention? Answer: The following example silently installs a print driver. You will need to copy the print driver files to the Windows\System directory and add the following entries to the Win.Ini file. Notes: In the follwong example: DriverName = Name of the driver; DRVFILE - Filename of the driver minus the extension (unless it is not ".drv"). Example: procedure TForm1.Button1Click(Sender: TObject); var s : array[0..64] of char; begin WriteProfileString('PrinterPorts', 'DriverName', 'DRVFILE,FILE:,15,45'); WriteProfileString('Devices', 'DriverName', 'DRVFILE,FILE:'); StrCopy(S, 'PrinterPorts'); SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, LongInt(@S)); StrCopy(S, 'Devices'); SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, LongInt(@S)); end;