如何判斷局域網內的某台打印机是否联机,可打印等状态

解决方案 »

  1.   

    var   
        mPrintHandle:THandle;   
      lRet:LongBool;                                             
      Job_Info:array[0..99]   of   _JOB_INFO_2;   
      ...   
            
      begin   
          lRet:=OpenPrinter(PChar(PrinterName),   mPrintHandle,   nil);   
          if   lRet=false   then   
          begin   
              timer1.Enabled:=false;   
              showmessage('打印机名错');   
              exit;   
          end;   
          If   mPrintHandle   <>   0   Then   
          begin   
              s:=Sizeof(Job_Info);   
              cbNeeded:=0;   
              cReturned:=0;   
              lRet:=EnumJobs(mPrintHandle,0,99,2,@Job_Info,s,cbNeeded,cReturned);   
          end;   
          if   lRet=false   then   
          begin   
              showmessage('错误'+inttostr(GetlastError));   
              exit;   
          end;   
          i:=0;   
          if   (Job_Info[0].Status=JOB_STATUS_PRINTING)and(Job_Info[0].jobId<>Idno)   then   
          begin   
      .....状态得到