Stampe # Option Explicit
' Copyright © 1997 by Desaware Inc. All Rights Reserved. '********************************** '** Type Definitions: #If Win32 Then Private Type DOC_INFO_1 pDocName As String pOutputFile As String pDatatype As String End Type #End If 'WIN32 Types '********************************** '** Function Declarations: #If Win32 Then Private Declare Function OpenPrinter& Lib "winspool.drv" Alias "OpenPrinterA" (ByVal pPrinterName As String, phPrinter As Long, ByVal pDefault As Long) ' Third param changed to long Private Declare Function StartDocPrinter& Lib "winspool.drv" Alias "StartDocPrinterA" (ByVal hPrinter As Long, ByVal Level As Long, pDocInfo As DOC_INFO_1) Private Declare Function StartPagePrinter& Lib "winspool.drv" (ByVal hPrinter As Long) Private Declare Function WritePrinter& Lib "winspool.drv" (ByVal hPrinter As Long, pBuf As Any, ByVal cdBuf As Long, pcWritten As Long) Private Declare Function EndDocPrinter& Lib "winspool.drv" (ByVal hPrinter As Long) Private Declare Function EndPagePrinter& Lib "winspool.drv" (ByVal hPrinter As Long) Private Declare Function ClosePrinter& Lib "winspool.drv" (ByVal hPrinter As Long) #End If 'WIN32 Private Sub cmdPrint_Click() Dim hPrinter& Dim jobid& Dim res& Dim written& Dim printdata$ Dim docinfo As DOC_INFO_1 res& = OpenPrinter(txtName.Text, hPrinter, 0) If res = 0 Then MsgBox "Unable to open the printer" Exit Sub End If docinfo.pDocName = "MyDoc" docinfo.pOutputFile = vbNullString docinfo.pDatatype = vbNullString jobid = StartDocPrinter(hPrinter, 1, docinfo) Call StartPagePrinter(hPrinter) printdata$ = txtText.Text & vbFormFeed Call WritePrinter(hPrinter, ByVal printdata$, Len(printdata$), written) Call EndPagePrinter(hPrinter) Call EndDocPrinter(hPrinter) Call ClosePrinter(hPrinter) ' Close when done End Sub |