Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.05;
Скачать: CL | DM;

Вниз

Отловить завершение винды   Найти похожие ветки 

 
Miker   (2002-10-23 23:57) [0]

У меня безформенное приложение. И поэтому делаю следующее, чтобы она выполнялась:


program MyProg;
uses ....;

-----
Мои действия...
------

repeat
PeekMessage(Msg,0,0,0,pm_noremove);
case Msg.message of
WM_CLOSE:break;
WM_QueryEndSession:break;
WM_QUIT:Close;
end;
// Application.ProcessMessages;
// sleep(50);
until false;

----------
мои действия, которые я хочу выполнить.


Дак вот, при завершении виндовсов, операторы после until false не выполняются, т.е. программа закрывается виндой насильно (если правильно выражаюсь). Нужно это исправить.


 
Song ©   (2002-10-24 09:48) [1]

На WM_QUERYENDSESSION вернуть отрицательный результат. Какой - смотрите в хэлпе по SDK.


 
Miker   (2002-10-25 00:38) [2]

А как его вернуть? Чего-нибудь наподобии Result:=0 у TMsg нет. (прошу прощения за неграмотность).


 
linage   (2002-10-25 00:52) [3]

необходимо написать обработчик сообщения и посадить его на WM_QUERYENDSESSION.

procedure WMExitWindows(var Message: TMessage); message WM_QUERYENDSESSION;

procedure WMExitWindows(var Message: TMessage);
begin
Message.Result:=0;
end;


 
Miker   (2002-10-25 22:47) [4]

To Song:
Я понимаю, что конкретного ответа давать не хочешь (и, вроде, правильно), но для меня твоей информации недостаточно для решения моей проблемы (знаю, что ответ должен быть=0, а как собственно ответить?). Подскажи, пожалуйста, конкретней.



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

Текущий архив: 2002.12.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-14527
sers
2002-11-26 16:01
2002.12.05
Защита своих исходников


3-14435
NeyroSpace
2002-11-18 10:57
2002.12.05
Как зайти в IBExpert НЕ под SYSDBA?


7-14834
BOI
2002-10-03 13:44
2002.12.05
Как поймать окончание копирования файла


6-14706
and1
2002-10-09 21:00
2002.12.05
hab, switch


1-14599
Юлия
2002-11-24 13:08
2002.12.05
Отмена действия