ViolaX
27-04-2006, 06:27
Buongiorno a tutti
qualcuno sa se esiste una utility, DLL o API per riuscire a sostituire la porta delle stampanti in oggetto in modo automatico ?
Il problema si presenta, p.es. cambiando server; dovere riconfigurare le stampanti manualmente, su ogni client, č un lavoraccio.
Dopo una ricerca infinita, ho trovato il seguente codice, ma non so se cambia veramente la porta, nč se si puņ eseguire da ogni Client ed in quale modo:
; Print control extender
AddExtender("WWPRT34I.DLL")
; current printer
prnt="HP LaserJet 4 on HO1244LN"
; port we want to change it to.
newport="\\txhomit02\ho0642lm"
; name of print driver, (i.e. 'HP LaserJet 4')
prtdrv=RegQueryValue(@REGMACHINE,"System\CurrentControlSet\Control\Print\Printers\%prnt%[Printer Driver]")
; print processor, (i.e. 'Winprint')
prtprc=RegQueryValue(@REGMACHINE,"System\CurrentControlSet\Control\Print\Printers\%prnt%[Print Processor]")
; is it the default printer?
defprt = pGetDefPrtInf(1)
; print driver file, (i.e. 'HPPCL5MS')
hpdrv=StrUpper(RegQueryValue(@REGMACHINE,"System\CurrentControlSet\control\Print\Environments\Windows 4.0\Drivers\%prtdrv%[Driver]"))
hpdrv=StrReplace(hpdrv,".DRV","")
; delete printer first.
pDelPrinter(prnt)
; Presto, add printer back with new port.
pAddPrinter( "", prnt, newport, prtdrv, prtprc)
; if printer was the default, then we need to set it back.
If defprt == prnt Then pSetDefPrtEx( prnt, hpdrv, newport)
Grazie e buona giornata
qualcuno sa se esiste una utility, DLL o API per riuscire a sostituire la porta delle stampanti in oggetto in modo automatico ?
Il problema si presenta, p.es. cambiando server; dovere riconfigurare le stampanti manualmente, su ogni client, č un lavoraccio.
Dopo una ricerca infinita, ho trovato il seguente codice, ma non so se cambia veramente la porta, nč se si puņ eseguire da ogni Client ed in quale modo:
; Print control extender
AddExtender("WWPRT34I.DLL")
; current printer
prnt="HP LaserJet 4 on HO1244LN"
; port we want to change it to.
newport="\\txhomit02\ho0642lm"
; name of print driver, (i.e. 'HP LaserJet 4')
prtdrv=RegQueryValue(@REGMACHINE,"System\CurrentControlSet\Control\Print\Printers\%prnt%[Printer Driver]")
; print processor, (i.e. 'Winprint')
prtprc=RegQueryValue(@REGMACHINE,"System\CurrentControlSet\Control\Print\Printers\%prnt%[Print Processor]")
; is it the default printer?
defprt = pGetDefPrtInf(1)
; print driver file, (i.e. 'HPPCL5MS')
hpdrv=StrUpper(RegQueryValue(@REGMACHINE,"System\CurrentControlSet\control\Print\Environments\Windows 4.0\Drivers\%prtdrv%[Driver]"))
hpdrv=StrReplace(hpdrv,".DRV","")
; delete printer first.
pDelPrinter(prnt)
; Presto, add printer back with new port.
pAddPrinter( "", prnt, newport, prtdrv, prtprc)
; if printer was the default, then we need to set it back.
If defprt == prnt Then pSetDefPrtEx( prnt, hpdrv, newport)
Grazie e buona giornata