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

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

Как заставить свою прогу закрыться при shutdown e Windows? [D6, Win95/98, Win2k, WinXP]


Вован ©   (2003-09-15 17:32:00) 

Сорри, такой вопрос где-то наверняка уже был:)


Verg   (2003-09-15 18:28:00) [1]

TForm1 = class(TForm)
......
.....

FShutDown : boolean;
procedure OnWM_QUERYENDSESSION(var Msg: TMessage); message WM_QUERYENDSESSION;
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
.....

procedure TForm1.OnWM_QUERYENDSESSION(var Msg: TMessage);
begin
ShutDown:=true;
inherited;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose:=FShutDown;
end;


Anatoly Podgoretsky   (2003-09-15 18:23:00) [2]

А именно так и работает, если конечно ты не будешь противодействовать.


Вован   (2003-09-15 18:19:00) [3]

Отдельных потоков нет. Вся прога использует один поток.
И вообще, остановимся на простой форме, которая просто открывается и ее можно закрыть. Но мы ее оставляем и делаем шатдаун Винды.
Опять тот же вопрос: как сделать так, чтобы она закрылась перед тем, как машина перезагрузится?


clickmaker   (2003-09-15 18:13:00) [4]

Проверь, нет ли отдельных потоков, которые остаются незавершенными


Вован   (2003-09-15 18:03:00) [5]

Не-е...так не пойдет:)
Эти сообщения я уже смотрел-пересмотрел. В литературе, как всегда, описывается так, что ничего не работает.
Если можно, работающий вариант, как для тупых, с кодом:)


Виктор Щербаков   (2003-09-15 17:52:00) [6]

Конечно был.
Смотри сообщения
WM_QUERYENDSESSION и WM_ENDSESSION


Наверх

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