关于Print之后打印机状态(50分)

  • 主题发起人 主题发起人 bbface
  • 开始时间 开始时间
B

bbface

Unregistered / Unconfirmed
GUEST, unregistred user!
当一个打印事务送出之后,如果获取打印机是否卡纸,中途脱机,掉电等状态
 
unit uPrinter;
interface
function CheckPrinter: boolean;
function GetPrinterStatus: byte;
implementation
//从并行端口读取打印机状态
function GetPrinterStatus: byte;
asm
MOV DX,$378;
IN AL,DX;
end;
//获取打印机是否出错
function CheckPrinter: boolean;
var
temp: byte;
begin
temp := GetPrinterStatus;
Result := not (((temp and $80) = 0) //打印机忙
or ((temp and $20) <>
0) //打印机缺纸
or ((temp and $10) = 0) //打印机未联机
or ((temp and $08) = 0));
//打印机出错;
end;

end.
 
To andy263:
我在Win2000下调试,在IN AL,DX;之后程序就用出错,提示为"privileged instruction"
请问如何解决
 
上述代码只能用在WIN98下。
 
那2000下应该如何做呢?是否得使用windows api函数,如果用的话,用哪个?如何用?
 
多人接受答案了。
 
后退
顶部