Home | Chi sono | Contattami
 

Progr. lineare

Delphi
  Componenti
 
Database
 
Miei articoli

Windows

Miei articoli 

 

Creare, configurare ed eliminare stampanti con rundll32.exe
 
La sintassi generale Ŕ:

rundll32 printui.dll,PrintUIEntry [opzioni] [@filedicomandi]

Digitando dalla linea di comando la stringa

rundll32 printui.dll,PrintUIEntry /?

si ottiene l'elenco delle opzioni disponibili che vado ad elencare di seguito:

/a[file]           nome di file binario
/b[nome]            nome di base della stampante.
/c[nome]            nome unc del computer se l'azione Ŕ su un computer remoto
/dl            elimina la stampante locale.
/dn            elimina la connessione della stampante di rete.
/dd            elimina il driver della stampante.
/e            visualizza le preferenze di stampa.
/f[file]            file .inf o di output.
/ga            aggiunge le connessioni stampante per singolo computer.
/ge            enumera le connessioni stampante per singolo computer.
/gd            elimina le connessioni stampante per singolo computer
/h[arch]            una delle seguenti architetture driver Alpha | Intel | IA64
/ia            installa il driver della stampante utilizzando il file .inf.
/id            installa il driver della stampante utilizzando Aggiunta guidata driver della stampante.
/if            installa la stampante utilizzando il file inf.
/ii            installa la stampante locale utilizzando Installazione guidata stampante con un file inf.
/il            installa la stampante locale utilizzando Installazione guidata stampante.
/in            aggiunge la connessione della stampante di rete.
/j[provider]            stampa il nome del provider.
/k            stampa una pagina di prova sulla stampante specificata, impossibile combinarlo con i
comandi durante l'installazione di una stampante
/l[percorso]            percorso di origine del driver della stampante.
/m[modello]            visualizza il nome del modello del driver della stampante.
/n[nome]            visualizza il nome della stampante.
/o            visualizza la coda di stampa per la stampante.
/p            visualizza le proprietÓ della stampante
/q            passa alla modalitÓ non interattiva, che non prevede la visualizzazione dei messaggi di 
errore.
/r[porta]            visualizza il nome della porta.
/s            visualizza le proprietÓ del server.
/Ss            Archivia le impostazioni della stampante in un file
/Sr            Ripristina le impostazioni della stampante da un file
Archivia o ripristina i flag delle impostazioni della stampante che devono trovarsi alla fine del comando
2 PRINTER_INFO_2
7 PRINTER_INFO_7
c Color Profile
d PrinterData
s Security descriptor
g Global DevMode
m Minimal settings
u User DevMode
r Resolve name conflicts
f Force name
p Resolve port

/u            utilizza il driver della stampante esistente se installato
/t[#]            indica la pagina iniziale dell'indice (base zero).
/v[versione]            una delle seguenti versioni driver di Windows 95, 98 e Millennium Edition | Windows NT 4.0 | Windows NT 4.0 o 2000 | Windows 2000 o XP | Windows XP
/w            richiede all'utente di immettere un driver se il driver specificato non viene trovato nel file inf
/y            imposta la stampante come predefinita.
/Xg            legge le impostazioni della stampante.
/Xs            imposta le proprietÓ della stampante.
/z            impedisce la condivisione automatica della stampante.
/Y            impedisce la generazione di un nome per la stampante
/K            modifica le opzioni /v e /h in modo che accettino i valori 0, 1, 2, 3, rispettivamente Windows IA64 | Windows NT x86 | Windows NT Alpha_AXP | Windows 4.0
/Z            condivide questa stampante, pu˛ essere usato solo con l'opzione /if
/?            Visualizza la guida su questo messaggio
@[file]            file degli argomenti della riga di comando.
/Mw[messaggio]            visualizza un messaggio di avviso prima dell'esecuzione del comando
/Mq[messaggio]            visualizza un messaggio di conferma prima dell'esecuzione del comando
&/W[flag]            specifica i flag e le opzioni per le procedure guidate (per Installazione guidata stampante e Aggiunta guidata driver della stampante)
r            consente di riavviare la procedura guidata dall'ultima finestra
/G[flag]            specifica flag e opzioni globali
w            non visualizza gli avvisi relativi alla configurazione dei driver (modalitÓ non interattiva)

Di seguito alcuni esempi
 

ProprietÓ server
Nella cartella "Stampanti e Fax" il men¨ File include una voce "ProprietÓ server" che apre una maschera con le caratteristiche del sistema di stampa (Porte, Driver, etc...). Per attivare tale maschera occorre la stringa

rundll32 printui.dll,PrintUIEntry /s  (/s=server properties)

La maschera include 4 tab (Moduli, Porte, Driver, Avanzate): se si vuole aprire la maschera su uno dei tab specificati occorre aggiungere il parametro t seguito immediatamente dall' indice del tab (numerazione a partire da 0) che si desidera focalizzare; ad esempio se vogliamo avere il tab "Driver" (terzo tab quindi indice 2) dovremo scrivere:

rundll32 printui.dll,PrintUIEntry /s /t2

Se si vuole il tab "ProprietÓ server" relativo ad un computer remoto basta specificare /n\\<RemotePc>

rundll32 printui.dll,PrintUIEntry /s /n\\<RemotePC>

 

ProprietÓ stampante
Per visualizzare le proprietÓ di una stampante locale occorre la stringa

rundll32 printui.dll,PrintUIEntry /p /n <nome_stampante>

Anche in questo caso si pu˛ specificare il tab da focalizzare con il parametro /t seguito immediatamente dall' indice del tab.

Se si vuole visualizzare la maschera proprietÓ relativa ad una stampante su un computer remoto basta sostituire <nome_stampante> con \\<computer_remoto><nome_condivisione_stampante>

 

Installare una nuova stampante
Per eseguire il wizard "Aggiungi stampante" la stringa Ŕ:

rundll32 printui.dll,PrintUIEntry /il

Se vogliamo che il wizard agisca su un computer remoto (e non sul computer locale come di default) occorre

rundll32 printui.dll,PrintUIEntry /il /c\\<computer_remoto>

Se vogliamo specificare un file .inf con le informazioni relative ai driver (di default Ŕ il file %windir%\inf\ntprint.inf) allora

rundll32 printui.dll,PrintUIEntry /ii /f <inf_file>

Infine per rendere il tutto automatizzato (senza ricorrere al wizard)

rundll32 printui.dll,PrintUIEntry /if /b <nome_stampante>
/f <inf_file> /r <nome_porta> /m <nome_driver>

Ad esempio se vogliamo installare una stampante di nome "stampante_magazzino" collegata alla porta "LPT1:" con il driver "HP LaserJet 4" con riferimento all'elenco produttori-modelli di default (%windir%\inf\ntprint.inf) scriveremo:

rundll32 printui.dll,PrintUIEntry /if /b "stampante_magazzino" /f
%
windir%\inf\ntprint.inf /r "LPT1:" /m "HP LaserJet 4"

Il file %windir%\inf\ntprint.inf contiene le informazioni relative ai driver forniti da Windows. Se non vogliamo installare un driver fornito dal sistema operativo ma abbiamo ad esempio il CD di un driver oppure lo abbiamo scaricato da internet, andremo a specificare il file .inf incluso tra i file di installazione del driver in questione

Se volessimo applicare l'operazione su un computer remoto basterebbe aggiungere

/c\\<computer_remoto>

Naturalmente Ŕ implicito l'obbligo di possedere le credenziali adeguate (username e password) per l'esecuzione dell' operazione sul computer remoto

Spesso si hanno pi¨ versioni dello stesso driver in relazione al sistema operativo:

Windows 95, 98 e Me
Windows NT 4.0
Windows NT 4.0 o 2000
Windows 2000 o XP

Windows XP

Per installare una versione specifica basta aggiungere:

/v <nome_versione>

Analogamente possono esistere pi¨ versioni dello stesso driver in relazione all' architettura del processore:

Alpha
Intel
IA64

Per installare una versione specifica basta aggiungere:

/h <nome_versione>

Con l' opzione /if Ŕ possibile anche mettere in condivisione la stampante che si va a creare utilizzando il parametro /Z

Se il driver che si vuole utilizzare Ŕ giÓ presente, si pu˛ imporre l' utilizzo del driver giÓ presente utilizzando il parametro /u
 

Impostare una stampante come stampante di default

rundll32 printui.dll,PrintUIEntry /y /n <nome_stampante>
 

Eliminare una stampante

rundll32 printui.dll,PrintUIEntry /dl /n <nome_stampante> 
 

Installare una stampante di rete

rundll32 printui.dll,PrintUIEntry /in /n\\<computer_remoto>\<nome_condivisione

In questa maniera la stampante di rete Ŕ visibile solo all'utente che l' ha creata. Per consentire la visibilitÓ a tutti gli utenti (quindi una visibilitÓ a livello macchina) occorre il parametro /ga:

rundll32 printui.dll,PrintUIEntry /ga /n\\<computer_remoto>\<nome_condivisione

Il parametro /ga (global add) consente la visibilitÓ della stampante di rete a tutti gli utenti (non solo all'utente che ha effettuato l' installazione)

Se vogliamo installare la stampante di rete su un computer remoto basta utilizzare il parametro
/c

rundll32 printui.dll,PrintUIEntry /ga /c\\<computer_destinazione> /n\\<computer_remoto>\<nome_condivisione>
 

Eliminare una stampante di rete

Se la stampante di rete Ŕ stata creata col parametro /in:

rundll32 printui.dll,PrintUIEntry /dn /n\\<computer_remoto>\<nome_condivisione>

Se la stampante di rete Ŕ stata creata col parametro /ga:

rundll32 printui.dll,PrintUIEntry /gd /n\\<computer_remoto>\<nome_condivisione>

oppure pi¨ in generale

rundll32 printui.dll,PrintUIEntry /gd /c\\<computer_destinazione> /n\\<computer_remoto>\<nome_condivisione>
 

Installare un driver stampante

Per eseguire il wizard "Aggiungi driver" la stringa Ŕ:

rundll32 printui.dll,PrintUIEntry /id

Se vogliamo che il wizard agisca su un computer remoto (e non sul computer locale come di default) occorre

rundll32 printui.dll,PrintUIEntry /id /c\\<computer_remoto>

Per rendere il tutto automatizzato (senza ricorrere al wizard)

rundll32 printui.dll,PrintUIEntry /ia /c\\<computer_remoto>
/f <inf_file> /m <nome_driver>
 

Eliminare un driver stampante

rundll32 printui.dll,PrintUIEntry /dd /c\\<computer_remoto>
/m <nome_driver>

 
   Visualizzare la coda di stampa

rundll32 printui.dll,PrintUIEntry /o /n<nome_stampante>

rundll32 printui.dll,PrintUIEntry /o /n\\<computer_remoto>\<nome_condivisione>
 

   
   
   
   
   
   
   
   
   
   
   
   
Your Ad Here