delphi中如何判断打印机是否安装

2016-08-01
uses Printers;
    
     procedure TForm1.Button1Click(Sender: TObject);
     begin
     if Printer.Printers.Count <= 0 then
     { 没有安装 };
     end;
    
     Top
     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