如题

解决方案 »

  1.   

    try
      printer.BeginDoc;
    except
      
    end;
      

  2.   

    try
      printer.BeginDoc;
    except
      
    end;
    我试过了,用这种方法无法测试打印机是否联机
      

  3.   

    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
    .....状态得到
      

  4.   

    to:liangyong007a((梦里有云,心中有天地)(探花秀))
    老大你能注释一下吗?没用过,比较糊涂哦.饿也在关注此话题.呵呵,谢谢了