HOWTO: Set the Default Printer Programmatically in Windows 95, Windows 98, or Windows Me

This article was previously published under Q140560
This article has been archived. It is offered "as is" and will no longer be updated.
To set the default printer programmatically under Windows 95, Windows 98, or Windows Millennium Edition (Me) use the SetPrinter() Win32 API function.

Note that the SetPrinter() API call is a valid method, but is platform-dependent and should work only on Windows 95, Windows 98, or Windows Me (it does not work on Windows NT or on a 16-bit platform).
To set or change the default printer under Windows 95, call:
SetPrinter(HANDLE hPrinter, DWORD dwLevel, LPBYTE lpbPrinter,DWORD dwCommand)				
Obtain the hPrinter parameter from OpenPrinter() as a handle thatidentifies the desired printer. Set the dwLevel parameter to 5, and pointlpbPrinter to the PRINTER_INFO_5 structure. Set the dwCommand parameter to0 (zero). Fill out the PRINTER_INFO_5 structure appropriately making sure that theAttributes field has PRINTER_ATTRIBUTE_DEFAULT set.

Article ID: 140560 - Last Review: 02/28/2014 07:59:34 - Revision: 2.3

Microsoft Windows 95 Driver Development Kit (DDK), Microsoft Windows 98 Driver Development Kit (DDK), Microsoft Windows Millennium Edition Driver Development Kit

  • kbnosurvey kbarchive kbenv kbhowto KB140560