Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Neobius en 25 Noviembre 2005, 19:19 pm



Título: Cola de impresion
Publicado por: Neobius en 25 Noviembre 2005, 19:19 pm
Como puedo hacer que mi programa acceda al servicio de cola de impresion y me muestre en un textbox las impresiones que estan en la cola?


Título: Re: Cola de impresion
Publicado por: NYlOn en 26 Noviembre 2005, 01:10 am
espero q esto sea lo que buscabas:
Código:
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
    MsgBox "Jobs in printer queue: " + CStr(lJobCount), vbInformation
End Sub

Ejemplo extraido del API-Guide 3.7, http://www.allapi.net


Che y te recomiendo que te bajes el programa que te puse arriva, tiene todas las APIs almacenadas y con un ejemplo de cada una. Muy bueno.
Un saludo.