Hi to all,

Do anybody knows how to display the complete dialog of a printer properties, showing all tabs of a printer properties like when you are manually doing it on controlpanel>printer&fax... i wanted to show it that way...

I have a program that can show the printer properties... here the program...

Option Explicit

Private Declare Function PrinterProperties Lib "winspool.drv" _
  (ByVal hwnd As Long, ByVal hPrinter As Long) As Long

Private Declare Function OpenPrinter Lib "winspool.drv" _
  Alias "OpenPrinterA" (ByVal pPrinterName As String, _
  phPrinter As Long, pDefault As PRINTER_DEFAULTS) As Long

Private Declare Function ClosePrinter Lib "winspool.drv" _
  (ByVal hPrinter As Long) As Long
  
Private Type PRINTER_DEFAULTS
   pDatatype As Long ' String
   pDevMode As Long
   pDesiredAccess As Long
End Type

Private Const STANDARD_RIGHTS_REQUIRED = &HF0000
Private Const PRINTER_ACCESS_ADMINISTER = &H4
Private Const PRINTER_ACCESS_USE = &H8
Private Const PRINTER_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED Or _
   PRINTER_ACCESS_ADMINISTER Or PRINTER_ACCESS_USE)
   
Public Function DisplayPrinterProperties(DeviceName As String) _
  As Boolean
         
On Error GoTo ErrorHandler
Dim lAns As Long, hPrinter As Long
Dim typPD As PRINTER_DEFAULTS

typPD.pDatatype = 0
typPD.pDesiredAccess = PRINTER_ALL_ACCESS
typPD.pDevMode = 0
lAns = OpenPrinter(Printer.DeviceName, hPrinter, typPD)
If lAns <> 0 Then
    lAns = PrinterProperties(Form1.hwnd, hPrinter)
    DisplayPrinterProperties = lAns <> 0
End If

ErrorHandler:
If hPrinter <> 0 Then ClosePrinter hPrinter
    
End Function

but the problem is it only shows the last two tabs or sometimes the last tab only of the printer property... what i wanted is to show all the tabs, so that the user can change the settings of the printer on my program and they dont need to go control panel>printer & faxes and manually do it ... right click then properties.... i just want to lessen the hassle to the user...

can you check is thers something i missin in the code thats make the program not displaying all the tabs of the printer property....


can you give me an idea how can i do that... thanks

This article has been dead for over six months. Start a new discussion instead.