Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ediat

verificar se a impressora está ligada

Recommended Posts

Bom Dia, Gente.

 

Tem alguma função ou algum comando meio simples para verificar se a impressora selecionada no PrintDialog está ligada?

 

E tem como saber se a impressão foi feita corretamente?

 

Desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Encontrei esta função no site Active Delphi:

 

function VerImpressoraONLINE: Cardinal; 
var 
 hPrinter  : THandle; 
 pInfo:  PPrinterInfo2; 
 bytesNeeded: DWORD; 
begin 
 hprinter := GetCurrentPrinterHandle; 
 try 
   Winspool.GetPrinter( hPrinter, 2, Nil, 0, @bytesNeeded ); 
   pInfo := AllocMem( bytesNeeded ); 
   try 
     Winspool.GetPrinter( hPrinter, 2, pInfo, bytesNeeded, @bytesNeeded ); 
      Result := pInfo^.Status; 
   finally 
     FreeMem( pInfo ); 
   end; 
 finally 
   ClosePrinter( hPrinter ); 
 end; 
end; 

 

Para usar, selecione a impressora com o PrintDialog e use o comando:

  if VerImpressoraONLINE > 0 then 
   ShowMessage('Impressora está OFFLINE' );

 

Mas eu não testei ainda...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.