function GetPrinterStatus:byte; 
asm 
 MOV DX,$379; 
 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;
这段程序在win2000下用的时候,会在执行in al,dx时报错Privileged instruction!
有什么办法在win2000下实现上面的功能啊!!多谢!求命啊!