SPOOLER DE IMPRESSAO

MARCELO.TREZE 26/08/2010 18:40:37
#351421
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
MARCELO.TREZE 27/08/2010 15:05:37
#351494
é 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.

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

MARCELO.TREZE 16/09/2010 11:18:12
#353105
Bom trouxe de volta ao topo este tópico só para ver se alguém tem alguma coisa sobre o assunto

depois encerro
Tópico encerrado , respostas não são mais permitidas