* --- Determine Original Default Windows Printer ---
lcDefaultPrinter = SET("PRINTER",2)
* --- Use APRINTERS() To Determine What Printers Available ---
=APRINTERS(aryPrinters)
* --- Name of 1st non-customized version of Print Driver ---
* --- Not necessarily Default Printer ---
*lcOrigPrinter = "Lead Printer"
* --- Unique Name of 2nd customized version of Print Driver ---
* --- Not Necessarily Default Printer ---
* --- NOTICE Unique Name ---
lcNewPrinter = "Lead Printer - Tray 2"
* --- Look within this specific workstation's Windows Print Driver list to see if this customized version exists ---
mlFound = .F.
mnRows = ALEN(aryPrinters,1)
FOR mnCntr = 1 TO mnRows
IF UPPER(lcNewPrinter) $ UPPER(aryPrinters(mnCntr,1))
lcNewPrinter = aryPrinters(mnCntr,1)
mlFound = .T.
EXIT
ENDIF
ENDFOR
IF mlFound
* --- Customized Print Driver Found, Use It ---
* --- Use Windows Scripting To Set Default Printer To New Image Printer ---
ONET = CREATEOBJECT("WScript.Network")
ONET.SetDefaultPrinter(lcNewPrinter)
SET PRINTER TO NAME (lcNewPrinter)
<do whatever...>
* --- When Done Printing - Use Windows Scripting To Restore Original Default Printer ---
ONET.SetDefaultPrinter(lcDefaultPrinter)
RELEASE ONET
SET PRINTER TO NAME (lcDefaultPrinter)
ELSE
mcWaitMsg = " " + lcNewPrinter + " Not Found! "
WAIT WINDOW mcWaitMsg TIMEOUT 4
ENDIF && IF mlFound