![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
выход из windows закрывает мое приложение
sia © (2007-12-07 15:25:00)как мне отловить событие закрытия моей программы, вызванное выходом из windows?
поясню: пользователь не закрыл приложение перед тем, как выключить комп. и некоторые данные не сохранились.
заранее спасибо за помощь.
sia (2007-12-11 13:54:00) [1]
> Альтернатива "ловли сообщений" - у форм есть событие OnCloseQuery.
> ..
OnCloseQuery срабатывает только когда пользователь закрывает приложение. когда его закрывает операционка оно не возникает.
> Или? Т.е. ты даже не разобрался, чем они отличаются?
Думаю, что разобрался: при закрытии винда сначала посылает всем запущенным прогам WM_QUERYENDSESSION. если хоть одно приложение возвращает 0, то винда не закрывается, а шлет всем, кто ответил <>0, сообщение WM_ENDSESSION, ожидая true. если false, то не закрывается. так во всяком случае в win32.hlp написано.
> Или ты считаешь, что здесь специально обучаные роботы отвечають
> должны?
я считаю, что если не знаешь что ответить или не хочешь отвечать, то не надо вообще писать. твои плоские шутки смешны не всем. а особенно задающему вопрос.
homm (2007-12-07 21:24:00) [2]> [4] sia © (07.12.07 19:13)
> Особенно за Ваш неиссякаемый сарказм, который отражает
> Ваш истинный профессионализм.
Если тебе уже дали ответ, зачем что-то еще? Или ты считаешь, что здесь специально обучаные роботы отвечають должны?
homm (2007-12-07 21:21:00) [3]> [4] sia © (07.12.07 19:13)
> при появлении соообщений WM_QUERYENDSESSION или WM_ENDSESSION
Или? Т.е. ты даже не разобрался, чем они отличаются?
{RASkov} (2007-12-07 20:32:00) [4]> [0] sia © (07.12.07 19:13)
> поясню: пользователь не закрыл приложение перед тем, как
> выключить комп. и некоторые данные не сохранились.
Альтернатива "ловли сообщений" - у форм есть событие OnCloseQuery...
sia (2007-12-07 19:13:00) [5]всем большое спасибо за ПОМОЩЬ. Особенно за Ваш неиссякаемый сарказм, который отражает Ваш истинный профессионализм.
с подачи tesseract разобрался :).
при появлении соообщений WM_QUERYENDSESSION или WM_ENDSESSION, посылаемых Windows моему приложению, в соответствующих обработчиках делаю небходимые действия.
Сергей М. (2007-12-07 17:17:00) [6]
> homm © (07.12.07 15:44) [2]
Ты провоцируешь автора на изобретение обработчика события ядерного взрыва)
homm (2007-12-07 15:44:00) [7]> [0] sia © (07.12.07 15:25)
> выход из windows закрывает мое приложение
Какая досада. А выключение питания не выключает твоего приложения? :)
tesseract (2007-12-07 15:37:00) [8]Ловить WM_QUERYENDSESSION в своей программе.