Hit-Parade .VB Research Center . Compteur
Accueil ~  Code ~  Programmes ~  Api ~  Forum ~  Cours ~  Livres ~  Quiz ~  Annuaire
~ Edito ~
12/03/2006 @ 13:39
Depuis la dernière mise à jour (qui remonte à... oulala plusieurs mois), un petit ménage de printemps s'impose. Ca tombe bien, c'est presque la période.
Au menu, et progressivement sur les jours à venir, rafraîchissement de plusieurs fonctions et procédures, nouvelles APIs et nouveaux programmes.

~ Rechercher ~

  

~ Annuaire VB ~
 Rechercher un site :
  

~ Partenaires ~

Procédure : OpenDlgPrinter
Ouvrir la fenêtre des propriétés d'une imprimante.
(Consulté 18984 fois.)

' Déclaration des fonctions API
Public Declare Function PrinterProperties Lib "winspool.drv" ( _
              
ByVal hwnd As Long, ByVal hPrinter As Long) As Long
Public Declare Function
OpenPrinter Lib "winspool.drv" Alias "OpenPrinterA" ( _
              
ByVal pPrinterName As String, phPrinter As Long, _
               pDefault
As PRINTER_DEFAULTS) As Long
Public Declare Function
ClosePrinter Lib "winspool.drv" ( _
              
ByVal hPrinter As Long) As Long

' Déclaration de type
Public Type PRINTER_DEFAULTS
  pDatatype
As Long
 
  pDevMode As Long
 
  pDesiredAccess As Long
End Type

' Déclaration des constantes
Public Const STANDARD_RIGHTS_REQUIRED = &HF0000
Public Const PRINTER_ACCESS_ADMINISTER = &H4
Public Const PRINTER_ACCESS_USE = &H8
Public Const PRINTER_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED Or _
                                   PRINTER_ACCESS_ADMINISTER
Or _
                                   PRINTER_ACCESS_USE)

Public Sub OpenDlgPrinter(stPrinterName As String, frmTmp As Form)
' stPrinterName doit être égal à la propriété DeviceName,
' de l'imprimante voulue dans la collections Printers
' frmTmp est la fenêtre appelante.
Dim lgTmp As Long
Dim
lgPrinter As Long
Dim
PD As PRINTER_DEFAULTS
PD.pDatatype = 0
PD.pDesiredAccess = PRINTER_ALL_ACCESS
PD.pDevMode = 0
lgTmp = OpenPrinter(stPrinterName, lgPrinter, PD)
If lgTmp = 0 Then
   
MsgBox "Impossible d'accéder à l'imprimante!", vbInformation, "Echec"
Else
   
lgTmp = PrinterProperties(frmTmp.hwnd, lgPrinter)
    lgTmp = ClosePrinter(lgPrinter)
End If
End Sub
Visual Basic Research Center - (c) 2000/2002 -  Webmaster : docvb (chez) free (point) fr