http://www.scalabium.com/faq/dct0047.htm

 

D2007下未测试成功。

If you need detect how many jobs are in the MS Windows print spooler, then you must handle a WM_SPOOLERSTATUS message. When job is added or deleted in the spooler querue, this message will be broadcast.
So you must create a message handler for this message trapping:

type
  TyourForm = class(TForm)
  private
    { Private declarations }
    procedure WMSpoolerStatus(var Msg: TWMSpoolerStatus);
      message WM_SPOOLERSTATUS;
  public
    { Public declarations }
  end;

implementation

{$R *.DFM}

procedure TyourForm.WMSpoolerStatus(var Msg: TWMSpoolerStatus);
begin
  ShowMessage('Now in the spooler a ' + IntToStr(msg.JobsLeft) + ' jobs';
  msg.Result := 0;
end;



 posted on 2014-12-22 10:48  宝兰  阅读(194)  评论(0编辑  收藏  举报