Mega Code Archive

 
Categories / VisualBasic Script / Windows API
 

Get default printer information

Private Declare Function GetProfileStringA Lib "kernel32" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long Sub DefaultPrinterInfo()     Dim strLPT As String * 255     Dim Result As String     Call GetProfileStringA ("Windows", "Device", "", strLPT, 254)          Result = Application.Trim(strLPT)     ResultLength = Len(Result)     Comma1 = Application.Find(",", Result, 1)     Comma2 = Application.Find(",", Result, Comma1 + 1) '   Gets printer's name     Printer = Left(Result, Comma1 - 1) '   Gets driver     Driver = Mid(Result, Comma1 + 1, Comma2 - Comma1 - 1) '   Gets last part of device line     Port = Right(Result, ResultLength - Comma2)     Debug.Print Printer     Debug.Print Driver     Debug.Print Port End Sub