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

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

как закрыто приложение [D7, WinXP]


димка ©   (2004-02-07 22:07:00) 

Как определить, как закрыто приложение: при помощи Х, alt+f4, из диспетчера задач, или програмно?


}{enon   (2004-02-11 15:54:00) [1]

Если закрыто при выключении/перезагрузке, то посылается WM_ENDSESSION и WM_QUERYENDSESSION.


}{enon   (2004-02-08 17:14:00) [2]

В VB процедура QueryUnload (аналог OnCloseQuery) описывается так:
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
UnloadMode как раз и передает, как закрывается окно (упс, в вопросе сказано "приложение", но думаю для большинства программ это все равно, иначе их не закрыть через Alt+F4), например 2 - это перезагрузка / выключение Windows.
Я попробую разобраться как это все работает, но гарантий не даю...


Игорь Шевченко   (2004-02-08 13:17:00) [3]

}{enon ©   (08.02.04 08:46)

Аргументы в студию


}{enon   (2004-02-08 08:46:00) [4]

2 Игорь Шевченко
Странно, в VisualBasic'e это как-то проверяется. Там можно распознать выключение:
1) из собственного кода программы
2) юзером через Alt+F4
3) юзером через диспетчер задач (вроде бы - точно не помню, отказался от VB несколько лет назад)
4) reboot / выключение системы
К сожалению у меня сейчас нет VB и я не могу сказать как это там делается.


Игорь Шевченко   (2004-02-07 22:16:00) [5]

При помощи Alt+F4 поступает сообщение WM_SYSCOMMAND с параметром SC_CLOSE. Остальное нельзя определить.


Наверх

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