Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

отловить WM_SPOOLERSTATUS [D5, WinXP]


Zevsus ©   (2003-05-22 11:33:00) 

Здравствуйте!
я пытался отловить WM_SPOOLERSTATUS разными способами:
таким

function WindowProc(wnd:HWND; Msg : Integer; Wparam:Wparam; Lparam:Lparam):Lresult;
stdcall;
Begin
case msg of
wm_SpoolerStatus :
showmessage("hello!");
end;
End;

и таким
type
TForm1 = class(TForm)
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
showmessage(intToStr(msg.JobsLeft)+" Jobs currenly in spooler");
msg.Result := 0;
end;

и даже таким
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if Msg.message = WM_SPOOLERSTATUS then ListBox1.Items.Add(inttostr(msg.lParam)+" ");
end;


Всё равно, при печати никаких сообщений я не получаю :(
помогите плз :((


Zevsus   (2003-05-23 13:47:00) [1]

спасибо :)


Игорь Шевченко   (2003-05-22 11:59:00) [2]

Applications should not assume that they will receive a WM_SPOOLERSTATUS message for every change in spooler status.

Windows 2000/XP: The WM_SPOOLERSTATUS message is not sent. To be notified of changes to the print queue status, use FindFirstPrinterChangeNotification and FindNextPrinterChangeNotification. The following code outlines how this might be done.


Наверх

Титульная страница Поиск, карта сайта Написать письмо