请各位帮忙:
    如果我一次给打印机3000条。之后我想由软件自动测试打印机是否打完了。如果是,则由软件再发给打印机3000条。
   怎样可以测试。请详细一点。   2.我想打印10000条。但要保证打印机不会死。又该怎么办??
    请各位大侠详细一点。

解决方案 »

  1.   

    Private Declare Function OpenPrinter Lib "winspool.drv" Alias "OpenPrinterA" (ByVal pPrinterName As String, phPrinter As Long, pDefault As Any) As Long
    Private Declare Function ClosePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long
    Private Declare Function EnumJobs Lib "winspool.drv" Alias "EnumJobsA" (ByVal hPrinter As Long, ByVal FirstJob As Long, ByVal NoJobs As Long, ByVal Level As Long, pJob As Any, ByVal cdBuf As Long, pcbNeeded As Long, pcReturned As Long) As Long
    Private Sub Form_Load()    Dim hPrinter As Long, lNeeded As Long, lReturned As Long
        Dim lJobCount As Long
        OpenPrinter Printer.DeviceName, hPrinter, ByVal 0&
        EnumJobs hPrinter, 0, 99, 1, ByVal 0&, 0, lNeeded, lReturned
        If lNeeded > 0 Then
            ReDim byteJobsBuffer(lNeeded - 1) As Byte
            EnumJobs hPrinter, 0, 99, 1, byteJobsBuffer(0), lNeeded, lNeeded, lReturned
            If lReturned > 0 Then
                lJobCount = lReturned
            Else
                lJobCount = 0
            End If
        Else
            lJobCount = 0
        End If
        ClosePrinter hPrinter
        If lJobCount = 0 Then
            MsgBox "没有打印作业!"
        Else
            MsgBox "打印队列项: " + CStr(lJobCount), vbInformation
        End If
        
    End Sub