Verificar Impressora matricial

Delphi

31/03/2014

Boa tarde a todos.
Peguei este código na internet para verificar se existe impressora ligada na porta LPT1.

Function PrinterOnLine : Boolean;
Const
PrnStInt : Byte = $17;
StRq : Byte = $02;
PrnNum : Word = 0; { 0 para LPT1, 1 para LPT2, etc. }
Var
nResult : byte;
Begin (* PrinterOnLine*)
Asm
mov ah,StRq;
mov dx,PrnNum;
Int $17;
mov nResult,ah;
end;
PrinterOnLine := (nResult and $80) = $80;
End;

Porém, quando chega em Int $17, dá access violation. Alguém poderia me ajudar a resolver esse problema.
Uso win 8 e delphi 5.

Grato
Márcio
Marcio Oliveira

Marcio Oliveira

Curtidas 0

Respostas

Marcos Oliveira

Marcos Oliveira

31/03/2014

Marcio, eu usava esta mesma função, porém em computadores que não tinham a porta física (LPT1) dava erro mesmo.
Não sei se esse é o problema, mas essa é uma função bem antiga, que talvez não funcione em PC's mais novos sem a porta física LPT, e com impressoras ligas na USB.

Att,

Marcos
GOSTEI 0
POSTAR