НОМЕР ДОКУМЕНТА: TI3133 ПРОДУКТ: Delphi Версия:
1.0 ОС: Windows Дата: 1 октября, 1996 Тема:
Определение завершения работы Windows
Существует ли возможность определения завершения работы Windows для
нормального завершения работы работающего приложения Delphi?
Самым простым решением является создание обработчика события главной формы
OnCloseQuery. Данное событие возникает как результат сообщения
WM_QUERYENDSESSION, которое посылается всем работающим приложениям Windows в
момент инициализации процесса окончания работы Windows. Логическая переменная
CanClose, передаваемая обработчику как var-параметр, может позволить программе
(и Windows) завершить свою работу, если имеет значение True, значение же False
не позволит программе завершить свою работу.
Следующий код демонстрирует как можно воспользоваться данным событием.
Демонстрационный код
|
|
procedure
TForm1.FormCloseQuery(Sender: TObject; var CanClose:
Boolean); begin
{Спрашиваем пользователя, если инициировано
завершение работы.}
if MessageDlg('Вы уверены?',
mtConfirmation, mbYesNoCancel, 0) = mrYes
then CanClose := true {Разрешаем
завершение работы.}
else CanClose := false; {Не разрешаем
завершение работы.} end; | |