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