Verificar se a impressora está ligada no Delphi
Usando instruções Assembly podemos fazer isto. A função abaixo retorna true se a porta informada está pronta. Os possíveis parâmetros para esta função são: 1 - para LPT1 2 - para LPT2 3 - para LPT3 4 - para LPT4 function tbTestLPT(Port: byte): boolean; var Pto : Word; Rdo : byte; begin Pto := Port -1; asm MOV DX,Pto MOV AX,$0200 {AH := $02 : Leer el estado de la impresora} INT $17 MOV Rdo,AH {Guarda el estado en AL} end; Result := Rdo = 144; end;
Talvez esta função não funcione no Windows NT devido ao acesso em baixo nível.