Fórum Verificar Impressora matricial #474598
31/03/2014
0
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
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
Curtir tópico
+ 0
Responder
Posts
31/03/2014
Marcos Oliveira
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
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
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)