CSDN问答:在VB6程序中安装打印机

Install a new printer on the system:

http://www.devx.com/vb2themax/Tip/19284

Private Type PRINTER_INFO_2
    pServerName As String
    pPrinterName As String
    pShareName As String
    pPortName As String
    pDriverName As String
    pComment As String
    pLocation As String
    pDevMode As Long
    pSepFile As String
    pPrintProcessor As String
    pDatatype As String
    pParameters As String
    pSecurityDescriptor As Long
    Attributes As Long
    Priority As Long
    DefaultPriority As Long
    StartTime As Long
    UntilTime As Long
    Status As Long
    cJobs As Long
    AveragePPM As Long
End Type

Private Declare Function AddPrinter Lib "winspool.drv" Alias "AddPrinterA" _
    (ByVal pName As String, ByVal Level As Long, pPrinter As Any) As Long
Private Declare Function ClosePrinter Lib "winspool.drv" (ByVal hPrinter As _
    Long) As Long

' Install a new printer on the system
'   sPrinterName is the name to assign to identify the printer
'   sDriver is a string identifying the driver for the printer
'   sPort is the printer's COM port
'   sComment is a comment to associate to the printer item
'
' Example:
'    Dim bOK As Boolean
'    bOK = InstallPrinter("Epson", "Epson Stylus COLOR 440", "LPT1:", ,
'  "My favourite printer")
'    MsgBox "Printer added: " & bOK
Function InstallPrinter(ByVal sPrinterName As String, ByVal sDriver As String, _
    Optional ByVal sPort As String = "LPT1:", Optional sServer As String, _
    Optional sComment As String) As Boolean
    Dim hPrinter As Long
    Dim PI As PRINTER_INFO_2
    
    ' fill the PRINTER_INFO_2 struct
    With PI
        .pPrinterName = sPrinterName
        .pDriverName = sDriver
        .pPortName = sPort
        .pServerName = sServer
        .pComment = sComment
        .pPrintProcessor = "WinPrint"
        .Priority = 1
        .DefaultPriority = 1
        .pDatatype = "RAW"
    End With
    
    ' add the printer
    hPrinter = AddPrinter(sServer, 2, PI)
    ' if successful close the printer and return True
    If hPrinter <> 0 Then
        ClosePrinter hPrinter
        InstallPrinter = True
    End If

End Function

你可能感兴趣的:(csdn)