SPOOLER DE IMPRESSAO
Bom venho eu agora perguntar aos senhores.
Alguém ja fez algum software que use o spooler de impressão
exemplo:
saber quantas paginas foram impressas, ou progressbar de impressão, ou algo parecido, mas retrornando os valores do spooler mesmo.
se alguém teve sucesso, e puder postar o código eu ficaria grato.
abraço atodos
Alguém ja fez algum software que use o spooler de impressão
exemplo:
saber quantas paginas foram impressas, ou progressbar de impressão, ou algo parecido, mas retrornando os valores do spooler mesmo.
se alguém teve sucesso, e puder postar o código eu ficaria grato.
abraço atodos
é infelizmente os colegas possuem o mesmo problema que eu pelo jeito mas eu sou brasileiro e não desito nunca.
e para os que estão com esta dificuldade eu acabei descobrindo um jeito de pelo menos saber quantas folhas estão sendo impressas, exibindo a quantidade de folhas restantes conforme o andamento.
e para os que estão com esta dificuldade eu acabei descobrindo um jeito de pelo menos saber quantas folhas estão sendo impressas, exibindo a quantidade de folhas restantes conforme o andamento.
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 Command1_Click()
For f = 0 To 3
Printer.Print [Ô][Ô]
Printer.EndDoc
Next f
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
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
Label1.Caption = [Ô]Folhas a serem impressas: [Ô] + CStr(lJobCount)
If lJobCount = 0 Then Timer1.Enabled = False
End Sub
Bom trouxe de volta ao topo este tópico só para ver se alguém tem alguma coisa sobre o assunto
depois encerro
depois encerro
Tópico encerrado , respostas não são mais permitidas