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.