使用delphi如何读取打印机的状态,如缺纸、缺墨、忙等等。网上找了很多代码,都不能用。

解决方案 »

  1.   

    http://blog.csdn.net/delphi308/article/details/9877043
      

  2.   

    这里面的方法只对WIN95有用,貌似没什么用处吧。
      

  3.   

    应该可以,在 tptinter类 中  类似于 脱机。暂停打印,这些
      

  4.   

      public
        constructor Create;
        destructor Destroy; override;
        procedure Abort;
        procedure BeginDoc;
        procedure EndDoc;
        procedure NewPage;
        procedure GetPrinter(ADevice, ADriver, APort: PChar; var ADeviceMode: THandle);
        procedure SetPrinter(ADevice, ADriver, APort: PChar; ADeviceMode: THandle);
        procedure Refresh;
        property Aborted: Boolean read FAborted;
        property Canvas: TCanvas read GetCanvas;
        property Capabilities: TPrinterCapabilities read FCapabilities;
        property Copies: Integer read GetNumCopies write SetNumCopies;
        property Fonts: TStrings read GetFonts;
        property Handle: HDC read GetHandle;
        property Orientation: TPrinterOrientation read GetOrientation write SetOrientation;
        property PageHeight: Integer read GetPageHeight;
        property PageWidth: Integer read GetPageWidth;
        property PageNumber: Integer read FPageNumber;
        property PrinterIndex: Integer read GetPrinterIndex write SetPrinterIndex;
        property Printing: Boolean read FPrinting;
        property Printers: TStrings read GetPrinters;
        property Title: string read FTitle write FTitle;
      end;
    这些是TPrinter的属性和方法,没有找到关于状态的。