|
|
|
|
| Lister les drivers imprimantes | |
| Lister les ports des imprimantes | |
| Ajout d'imprimante par un script |
Lister les drivers imprimantes
Aux fins de piloter vos programmes, il peut être nécessaire d'obtenir la liste des drivers des imprimantes installés. Exécutez ce code dans la fenêtre de commande:
| objLocator = new
OleAutoClient("WbemScripting.SWbemLocator") objWMI=objLocator.ConnectServer(".", "root\cimv2") oPrinterDriver = objWMI.ExecQuery([Select * from Win32_PrinterDriver]) for i = 0 to oPrinterDriver.count - 1 ? oPrinterDriver[i].name next i |
| From: "Ivar B. Jessen"
<nospam@nospam.com> Newsgroups: dbase.programming Sent: Tuesday, October 05, 2010 8:04 PM Subject: Re: Print Driver List |
Vous obtiendrez un résultat ressemblant à ceci en fonction de votre configuration :

Liste des drivers d'imprimantes installés sur le poste
Maintenant, si vous désirez voir la différence entre le nom de l'imprimante et celui de son driver :
| objLocator = new
OleAutoClient("WbemScripting.SWbemLocator") objWMI=objLocator.ConnectServer(".", "root\cimv2") oPrinter = objWMI.ExecQuery([Select * from Win32_Printer]) ? "Nom de l'imprimante" at 5, "Nom du driver" at 50 ? replicate("-", 85) at 5 ? for i = 0 to oPrinter.count - 1 ? oPrinter[i].name at 5, oPrinter[i].DriverName at 50 next i |
| From: "Ivar B. Jessen"
<nospam@nospam.com> Newsgroups: dbase.programming Sent: Wednesday, October 06, 2010 10:41 AM Subject: Re: Print Driver List |
Ce qui vous donnera :

Liste des imprimantes avec leur nom tel qu'il s'affiche et le nom du driver associé
Le nom de l'imprimante virtuelle PdfCreator a été volontairement modifié, ainsi dès la première ligne on perçoit bien la différence entre le nom de l'imprimante qui s'affiche à l'utilisateur et le nom du driver géré par windows.
Une ultime vérification en appelant chooseprinter()

Chooseprinter()
On constate bien que nom du driver et nom de l'imprimante ne sont pas identiques.
Voir aussi le choix de l'imprimante par défaut
Lister les ports des imprimantes
A titre complémentaire, obtenir les informations sur les ports des imprimantes.
Deux approches :
| //----- nw = new OleAutoClient("WScript.Network") oPrinters = nw.EnumPrinterConnections() for i = 0 to oPrinters.count() - 1 step 2 ? oPrinters[i+1] at 5, oPrinters[i] at 50, next i //----- //----- objLocator = new OleAutoClient("WbemScripting.SWbemLocator") objWMI = objLocator.ConnectServer(".", "root\cimv2") oPrinter = objWMI.ExecQuery([Select * from Win32_Printer]) for i = 0 to oPrinter.count - 1 ? oPrinter[i].name at 5, oPrinter[i].PortName at 50 next i //----- |
| From: "Ivar B. Jessen" Newsgroups: dbase.programming Sent: Wednesday, October 06, 2010 8:17 PM Subject: Re: Print Driver List et From: "Jan Hoelterling" |

Nom imprimante et port avec EnumPrinterConnections()
Fichier Windows Script Host : Ajout d'imprimante avec AddWindowsPrinterConnection
La méthode AddWindowsPrinterConnection utilise le nom de pilote de l'imprimante pour le nom d'imprimante et permet d'ajouter des imprimantes. Voir la base de connaissance Microsoft pour les erreurs rencontrées.
Sources :
Aide dBasePlus 2.6.0
Forum dBase
Base de connaissance Microsoft : http://support.microsoft.com/kb/297454/fr
Si vous voyez des erreurs, n'hésitez pas à le signaler.
Dernière modification : mercredi 06 octobre 2010
© M.A.