检测打印缓冲池中的打印任务数,使用WM_SpoolerStatus,为什么在win2000中检测为零? (50分)

  • 主题发起人 主题发起人 forestg
  • 开始时间 开始时间
F

forestg

Unregistered / Unconfirmed
GUEST, unregistred user!
检测打印缓冲池中的打印任务数,使用WM_SpoolerStatus,在win98中可以检测,为什么在win2000中检测总是为零?
如下:
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;
 
为什么我使用这个调用的时候,根据就不进入呢?请楼主指教
 
这个跟你使用的打印驱动程序有关,如果你使用Windows自带的驱动程序一般都可以得到正常
的结果,但如果你使用厂家的驱动程序,可能永远得到的结果都是零,你不妨换一个驱动程序
试一下。
 
不行,我用的是WINDOWS的,可是还是不行啊
 
接受答案了
 
后退
顶部