| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Программа не дает перезагружать систему |
| Автор: ilyalyu 27.6.2007, 15:45 |
| Проблема такая. Когда пользователь нажимает на форме кнопку "закрыть" (кнопка с крестиком в правом верхнем углу формы), программа должна не закрываться, а сворачиваться в tray (или как это правильно назвать). Я это сделал с помощью события OnCloseQuery. Однако появилась проблема. Теперь, когда я пытаюсь перезагрузить систему, моя программа сворачивается в tray и система после этого не перезагружается. Очевидно, это происходит из-за того, что ей не удается закрыть мою программу. В связи с этим вопрос - как распознать, что система хочет перезагрузиться и закрыть программу? |
| Автор: _hunter 27.6.2007, 16:06 |
| лови WM_ENDSESSION. при получении -- выходи. |
| Автор: MetalFan 27.6.2007, 16:06 |
| Отлавливать WM_ENDSESSION, WM_QUERYENDSESSION и закрывацца без всяких разговоров |
| Автор: dumb 27.6.2007, 16:08 |
| напиши обработчик для WM_QUERYENDSESSION и в нем заканчивай работу своей программы. Добавлено через 1 минуту и 35 секунд последний. пойду убью себя... |
| Автор: sw04 27.6.2007, 16:30 | ||
Пример из drkb. Автор Song. |
| Автор: MetalFan 27.6.2007, 17:54 |
ну вот, теперь не последний))) |
| Автор: sw04 27.6.2007, 21:20 |
так это же пример... слова это одно, а пример действенней. |
| Автор: ilyalyu 29.6.2007, 05:46 |
| Всем спасибо! |
| Автор: sw04 29.6.2007, 11:06 |
| ilyalyu, сделай пометку, что вопрос решен. |