Вниз
Скачать: CL | DM;

завершение Windows   Найти похожие ветки 

 
Leny ©   (2002-12-29 12:53) [0]

Добрый день, мне нужно отловить завершение Windows, чтобы сохранить данные из программы... Знаю, что Windows отсылает в этом случае сообщения wm_queryendsession, а как его отловить?


 
Big_Rom ©   (2002-12-29 12:58) [1]

написать обработчик wm_queryendsession :))


 
Leny ©   (2002-12-29 13:09) [2]

т.е процедуру?.. например:
Procedure TForm.WindowsClose(Var Msg:TMessage);
Begin
IF Msg.WParam=1 then Form.Close;
End;
тогда где указать получение сообщения wm_queryendsession?


 
Юрий Зотов ©   (2002-12-29 13:22) [3]

type
TForm1 = class(TForm)
...
private
procedure WindowsClose(Var Msg:TMessage); message WM_QUERYENDSESSION;


Только проще все делать в OnCloseQuery. Это сработает и при нормальном закрытии формы, и при выходе из Windows.


 
Song ©   (2002-12-29 17:51) [4]

http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi?board=news;action=display;num=1040148061


 
vuk ©   (2002-12-29 18:13) [5]

WM_QUERYENDSESSION может и не прийти... Например, при вызове InitiateSystemShutdown с флагом bForceAppsClosed.


 
Юрий Зотов ©   (2002-12-29 18:40) [6]

> Song © (29.12.02 17:51)

Зашел. Посмотрел. Расстроился.

Пример глобального хука в ЧаВо по ссылке

http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi?board=delphi;action=display;num=1033932228

принципиально неверен. Локальная переменная SysHook будет проинициализирована лишь в контексте одного-единственного процесса - того, который вызвал процедуру Hook и установил ловушку. В остальных она останется нулем и CallNexTHookEx не сможет работать правильно.

Ребята, ну нельзя же в FAQ (!!!) повторять все ту же уже всем надоевшую ошибку. Ведь она будет скопирована десятками (если не сотнями) неискушенных и получится больше вреда, чем пользы.

Предлагаю СРОЧНО заменить этот пример нормальным. Могу выслать готовый, чтобы не писать специально.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
7-37394
Владимир М
2002-11-01 15:32
2003.01.13
Как перехватить обращение к папке


1-37161
BlackTiger
2002-12-28 14:07
2003.01.13
Странно... (создание контролов в run-time)


7-37413
kaif
2002-11-03 14:32
2003.01.13
работа с потоком ввода


4-37430
Ваня Пупкин
2002-11-24 12:59
2003.01.13
Мастакам COM в Delphi


14-37360
dmk
2002-12-24 22:12
2003.01.13
Не работает SMTP сервер !!! :(




   Наверх