Tenho uma impressora colorida que demora mais para imprimir e os documentos ficam mais tempo na fila de impressão, assim o meu form2 é chamado mais de uma vez para a mesma impressão.
Tem alguma forma ou ideia de como posso fazer para meu codigo não entender a mesma solicitação como um novo pedido de impressão?
Pergunta
rodrigotnoma
No meu fonte tem um timer que fica verificando se a impressão foi solicitada:
Private Sub Timer1_Timer()
Dim hPrinter As Long, lNeeded As Long, lReturned As Long
Dim lJobCount As Long
For Each impressora In Printers
OpenPrinter impressora.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
Text1.Text = CStr(lJobCount)
Text2.Text = lReturned
Text3.Text = lNeeded
If Text1.Text = 1 Then
Form2.Show
Sleep (5000)
lNeeded = 0
lJobCount = 0
End If
End Sub
Tenho uma impressora colorida que demora mais para imprimir e os documentos ficam mais tempo na fila de impressão, assim o meu form2 é chamado mais de uma vez para a mesma impressão.
Tem alguma forma ou ideia de como posso fazer para meu codigo não entender a mesma solicitação como um novo pedido de impressão?
Talvez com um while????????
Obrigado
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.