Вниз
Скачать: 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 вся ветка

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



Память: 0.45 MB
Время: 0.01 c
14-14733
Ежик
2002-11-13 14:49
2002.12.05
Отдам ящик ПИВА в хорошие руки


1-14584
^Sanya
2002-11-27 11:43
2002.12.05
Как поймать минимизацию окна?


4-14879
INCOGNITO
2002-10-24 20:09
2002.12.05
Как програмно


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


1-14574
Pegas
2002-11-27 11:30
2002.12.05
Подскажите, где можно взят FastReport!




   Наверх