Главная страница | назад





Article #16727: Detecting how many jobs are in the print spooler

 Question and Answer Database

FAQ1727D.txt   Detecting how many jobs are in the print spooler
Category   :Windows API
Platform    :All
Product    :All 32 bit  

Question:
Is there any way to detect how many jobs are in the Windows print
spooler at any given time?


Answer:
The Windows print spooler regularly broadcasts a system wide
WM_SPOOLERSTATUS message each time a job is added or deleted from the
spooler que. The following example demonstrates trapping for this
message.

Example:

type
  TForm1 = class(TForm)
    Label1: TLabel;
  private
    { Private declarations }
    procedure WM_SpoolerStatus(var Msg : TWMSPOOLERSTATUS);
      message WM_SPOOLERSTATUS;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.WM_SpoolerStatus(var Msg : TWMSPOOLERSTATUS);
begin
  Lable1.Caption := IntToStr(msg.JobsLeft) +
                    ' Jobs currenly in spooler';
  msg.Result := 0;
end;

7/16/98 4:31:28 PM
 

Last Modified: 01-SEP-99