Главная страница
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.011 c
1-14592
kloksus
2002-11-22 22:24
2002.12.05
e-mail


7-14828
_kir_
2002-10-03 14:37
2002.12.05
доступ к папкам в


1-14645
qwertyu123
2002-11-25 12:45
2002.12.05
Изменение listBox a


4-14856
olphi
2002-10-24 01:45
2002.12.05
GetWindowsDirectory


14-14814
MFV
2002-11-04 00:50
2002.12.05
Изображаем форматирование