S'identifier

API
Documentation
Ressources
Trucs & astuces
Libre
Gabarits
Services

Membres
Participer
Visiter

Contact

Meilleure résolution
mode 800 x 600

Optimisé pour
IE v.5
Netscape v.6
mais surtout pour
Mozilla v.1
minimum

 


Membre de Click-FR®, Réseau francophone Paie-Par-Click

GetPrinter

Date de parution : 10/06/2002 - Cette fiche API a été lue 1859 fois

Description

GetPrinter récupère des informations sur l’imprimante spécifiée. En cas de succès, la fonction retourne une valeur à Vrai ou à Faux en cas d’échec (Utiliser GetLastError pour obtenir un code d’erreur étendu).

Syntaxe

AppelDLL32("winspool.drv", "GetPrinterA", hPrinter, dwLevel, pPrinter, cbBuf, pcbNeeded)

hPrinter

Handle de l’imprimante ouverte.

dwLevel

Précise le type de donnée contenu dans pPrinter.

Windows 9x : ce paramètre peut être 1, 2 ou 5.
Windows NT/2000 : ce paramètre peut être 1, 2, 3 ou 4.

pPrinter

Pointe sur un entier long qui indique la structure de PRINTER_INFO_n.

cbBuf

Précise la taille en octets de la structure.

pcbNeeded

Pointeur sur une variable que la fonction utilise pour tailler en octets l’information imprimante. Si cbBuf est trop petit que cette valeur, elle donne la taille du tampon requis. Si cbBuf est égale ou supérieur que la valeur, elle représente le nombre d’octets stocké dans le tampon.

Compatibilité

  • Windows 95 : supporté.
  • Windows 98 : supporté.
  • Windows NT : demande Windows NT 3.1 ou plus.
  • Windows 2000 : supporté

Remarque

Aucune

Exemple 1

// Identifier les ports utilisés pour 
// transmettre les données à l'imprimante en cours
lpPrinter est une chaîne Asciiz sur 255
hPrinter est un entier long
retVal est un entier long
pcbNeeded est un entier long
lPort est une chaîne Asciiz sur 255

pi5 est un PRINTER_INFO_5
// Placez ici le nom exact de l'imprimante
// Voir l'exemple de la fonction EnumPrinters
// pour cette récupération
lpPrinter = "Canon Bubble-Jet BJ10"

retVal = AppelDLL32("winspool.drv", "OpenPrinterA", ...
                                    &lpPrinter, &hPrinter, Null)
Si retVal Alors
 AppelDLL32("winspool.drv", "GetPrinterA", ...
                              hPrinter, 5, &pi5, 512, &pcbNeeded)
 AppelDLL32("kernel32", "RtlMoveMemory", &lPort, pi5:pPortName, 255)
 // Du code offert par Beaussier en ligne !
 Info(lpPrinter + " est connecté sur " + lPort)
Sinon
 Erreur("Impossible d'ouvrir " + lpPrinter)
Fin
AppelDLL32("winspool.drv", "ClosePrinter", hPrinter)


Nombre de commentaire sur GetPrinter : 0

Rappel : Le code fourni est compatible Windev v.4 et 5. Pour les versions supérieures, vous devez modifier le type des variables numériques. Par exemple : entier long devient entier.
Bien sûr, les marques citées sont déposées par leurs sociétés respectives. Ces pages sont à la disposition de tous, le code fourni est libre mais toute responsabilité est déclinée en cas de mauvais usage ou de dysfonctionnement.
© 2000-2005 Beaussier & Le Centre W..D..