Obtener el estado de la impresora
Hola nuevamente antipauli. Necesito obtener el estado de la impresora, he encontrado algunas formas de hacerlo, la mayoria utilizan código de ensamblador como esta:
function TestPrinterStatus(LPTPort: word): byte;
var
Status: byte;
CheckLPT: word;
begin
Status := 0;
if (LPTPort >= 1) and (LPTPort <= 3) then
begin
CheckLPT := LPTPort -1;
asm
mov dx, CheckLPT;
mov al, 0;
mov ah, 2;
int 17h;
mov &Status, ah;
end;
end;
Result := Status;
end;
Mi problema es que de esta manera mediante código ensamblador no funciona bajo Windows NT o 2000, Manda un error de violación al momento de llamar la interrupción de DOS. ¿Conoces otra forma de hacer esto, o que no de problemas en Windows NT y 2000?.
Saludos.
Gerardo.
function TestPrinterStatus(LPTPort: word): byte;
var
Status: byte;
CheckLPT: word;
begin
Status := 0;
if (LPTPort >= 1) and (LPTPort <= 3) then
begin
CheckLPT := LPTPort -1;
asm
mov dx, CheckLPT;
mov al, 0;
mov ah, 2;
int 17h;
mov &Status, ah;
end;
end;
Result := Status;
end;
Mi problema es que de esta manera mediante código ensamblador no funciona bajo Windows NT o 2000, Manda un error de violación al momento de llamar la interrupción de DOS. ¿Conoces otra forma de hacer esto, o que no de problemas en Windows NT y 2000?.
Saludos.
Gerardo.
1 respuesta
Respuesta de antipauli
1