Private Declare Function PrinterProperties Lib "winspool.drv" (ByVal hwnd As _ Long, ByVal hPrinter As Long) As LongPrivate Declare Function OpenPrinter Lib "winspool.drv" Alias "OpenPrinterA" _ (ByVal pPrinterName As String, phPrinter As Long, _ pDefault As PRINTER_DEFAULTS) As LongPrivate Declare Function ClosePrinter Lib "winspool.drv" (ByVal hPrinter As _ Long) As LongPrivate Type PRINTER_DEFAULTS pDatatype As String pDevMode As Long pDesiredAccess As LongEnd Type' Display the Printer Properties dialog box.' The DeviceName argument is the DeviceName property of the Printer object or' an item in the Printers collection.' ParentHWnd is the handle of the window that owns the dialog box.'' Returns True if the function succedes.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 IfEnd Function


The Best Mechanical Keyboards For Programmers: Where To Find Them
When it comes to programming, a good mechanical keyboard can make all the difference. Naturally, you would want one of the best mechanical keyboards for programmers. But with so many