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 String pDevMode As Long pDesiredAccess As Long End Type Function ShowPrinterProperties(ByVal DeviceName As String, _ ByVal ParentHWnd As Long) As Boolean Dim PrinterDef As PRINTER_DEFAULTS Dim hPrinter As Long Const PRINTER_ALL_ACCESS = &HF000C PrinterDef.pDesiredAccess = PRINTER_ALL_ACCESS If OpenPrinter(DeviceName, hPrinter, PrinterDef) Then ShowPrinterProperties = _ PrinterProperties(ParentHWnd, hPrinter) ClosePrinter hPrinter End If End Function |