>In VFP 6.0, is there a way to reset the Windows Default Printer in code rather than using a dialog box?
>
>We have a function that saves the current Windows Default Printer to a variable, uses the Microsoft Common Dialog Box to select a new Windows Default Printer for printing a report, then I need to reset the Windows Default Printer back to the original value. So far, I have not found a way to do it.
>
The Windows Script Host's Wscript.Network Object has a SetDefaultPrinter() method that would do this. Assuming you had a printer named 'MyHPLaser':
oWSHNet = CREATEOBJ('Wscript.Network')
oWSHNet.SetDefaultPrinter('MyHPLaser')
oWSHNet = NULL
You can specify a printer name, a physical port, or a UNC - the catch is that the driver for the printer must already be installed.
>We need to use the Microsoft Common Dialog Box so we can enable/disable certain controls, and be able to pass a default number of copies into the dialog.
>