Jooel,

Thank you for your feedback.

Here is the code at this point:



CLS
 BREAK ON
 ;Re-Write of http://www.kixtart.org/board/ultimatebb.php?ubb=get_topic;f=10;t=000021
 ;Default Printer Configuration
 ;This is to capture the Default Printer and get all network defined printers as well
 ;Ref. http://www.kixtart.org/cgi-bin/ultimatebb.cgi?ubb=get_topic&f=1&t=006790
 ;Ref. http://www.kixtart.org/board/ultimatebb.php?ubb=get_topic;f=12;t=000221
 $loc='HKEY_CURRENT_USER\Network\LPT1'
 $reg='HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion'
 $dev=$reg+'\Devices'
 $ptr=$reg+'\Windows'
 $nptr=READVALUE($ptr,'Device')
 $lpt=SUBSTR($nptr,1,INSTR($nptr,',')-1)
 $sysdrv=SUBSTR('%WINDIR%',1,2)
 IF EXIST('H:')
  $ps='H:\Scripts_DO_NOT_DELETE\Printsetup.ini'
  IF 0=EXIST('H:\Scripts_DO_NOT_DELETE')
   MD 'H:\Scripts_DO_NOT_DELETE'
  ENDIF
 ELSE
  $ps=$sysdrv+'\Scripts\Printsetup.ini'
  IF 0=EXIST($sysdrv+'\Scripts')
   MD $sysdrv+'\Scripts'
  ENDIF
 ENDIF

 $index=0
 DO
  IF '\\'=LEFT($x,2)
   $priReg=$priReg+$x
  ENDIF
  $index=$index+1
  $x=ENUMVALUE($dev,$index)
 UNTIL @error=0 OR NOT LEN($x)

 IF LEN($priReg)
  IF EXIST($ps)
   DEL $ps
  ENDIF
  FOR EACH $x IN SPLIT(SUBSTR($priReg,3),'\\')
   $rc=WRITEPROFILESTRING($ps,'Printers',$index,'\\'+$x)
  NEXT
 ENDIF

 ;CHECK FOR THE DEFAULT PRINTER
 SELECT
 CASE 
  INSTR($nptr,'\\')
  ;WRITE THE PRINTER TO THE CONFIG AS THE LOCAL NET PRINTER MAY HAVE CHANGED
  $rc=WRITEPROFILESTRING($ps,'Printers','Default',$lpt)
  $lpt1=READPROFILESTRING($ps,'Printers','Default')
  USE LPT1: /delete /persistent
  USE LPT1: $lpt1 /persistent
 CASE
  $nptr='' AND EXIST($ps)
  FOR EACH $key IN split(readprofilestring($ps,'Printers',''),chr(10))
   $nul=addprinterconnection(readprofilestring($ps,'Printers',$key))
  NEXT
   $rc=SETDEFAULTPRINTER(READPROFILESTRING($ps,'Printers','Default'))
   USE LPT1: $lpt1 /persistent
 CASE
  ;LOCAL PRINTER INSTALLED, BUT WE WANT TO REMOVE ANY NETWORK MAPPING
  INSTR($nptr,'LPT') AND READVALUE($loc,'RemotePath')<>''
  USE LPT1: /delete /persistent
 ENDSELECT
 RETURN



Kent
_________________________
Utilize these resources:
UDFs (Full List)
KiXtart FAQ & How to's