control de impresora en windows XP
Publicado por Jose Miguel Bakulic (1 intervención) el 02/12/2003 19:34:05
Hola integrantes del foro.
Yo programo en delphi. y tengo una rutina en assembler para controlar el estado de la impresora, para imprimir directamente al puerto. Pero esta rutina solo funciona para Win95, 98 y 98SE. No funciona para Windows XP.
La rutina es la siguiente:
function IsPrinter( iWord: Integer ) : Boolean;
const
PrnStInt : Byte = $17;
StRq : Byte = $02;
var
PrnNum : Word; { 0 para LPT1, 1 para LPT2, etc. }
nResult : byte;
begin
PrnNum := iWord; { 0 para LPT1, 1 para LPT2, etc. }
Asm
mov ah,StRq;
mov dx,PrnNum;
Int $17;
mov nResult,ah;
end ;
IsPrinter := (nResult and $80) = $80;
end;
..en la instruccion --> Int $17;
el programa se cae cuando trabaja sobre windows XP.
alguien podria darme luz a este problema.
Gracias de antemano.
Saludos.
Yo programo en delphi. y tengo una rutina en assembler para controlar el estado de la impresora, para imprimir directamente al puerto. Pero esta rutina solo funciona para Win95, 98 y 98SE. No funciona para Windows XP.
La rutina es la siguiente:
function IsPrinter( iWord: Integer ) : Boolean;
const
PrnStInt : Byte = $17;
StRq : Byte = $02;
var
PrnNum : Word; { 0 para LPT1, 1 para LPT2, etc. }
nResult : byte;
begin
PrnNum := iWord; { 0 para LPT1, 1 para LPT2, etc. }
Asm
mov ah,StRq;
mov dx,PrnNum;
Int $17;
mov nResult,ah;
end ;
IsPrinter := (nResult and $80) = $80;
end;
..en la instruccion --> Int $17;
el programa se cae cuando trabaja sobre windows XP.
alguien podria darme luz a este problema.
Gracias de antemano.
Saludos.
Valora esta pregunta


0