怎么判断打印机的状态,比如缺纸,或有没有接好打印机

解决方案 »

  1.   

    //从并行端口读取打印机状态
    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;声明,我没试过....
      

  2.   

    如何得到当前的打印机状态?
    http://www.delphibbs.com/delphibbs/dispq.asp?lid=64852
    如何查询打印机状态?
    http://www.delphibbs.com/delphibbs/dispq.asp?lid=232399
    转载
    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.