Вниз
Скачать: CL | DM;

Как отловить принудительное завершение своего приложения?   Найти похожие ветки 

 
Petrovich   (2004-02-26 16:38) [0]

Подскажите, что надо обрабатывать (и как :-), чтобы узнать, что кто-то завершает принудительно твое приложение? Не подумайте чего плохого, просто в лог надо записать, что приложение завершается и оповестить народ по сети :-)
Ни в OnClose, ни в OnDestroy главной формы программа не заходит, если кто-то завершит ее по ошибке или злому умыслу через Ctrl-Alt-Del. Ну или еще мало ли как грохнут ее.


 
mip ©   (2004-02-26 16:52) [1]

попробуй OnCloseQuery


 
Petrovich   (2004-02-27 15:01) [2]

Не работает. Вернее, при нормальном завершении программы туда программа приходит, а при ненормальном - нет


 
Игорь Шевченко ©   (2004-02-27 15:04) [3]

При "ненормальном" - никак не отловить. На то оно и ненормальное


 
Тимохов ©   (2004-02-27 15:05) [4]

Что такое "ненормальное"?


 
Petrovich   (2004-02-27 15:10) [5]

1. По Ctrl-Alt-Del грохают программу
2. X:\WINXP\system32\shutdown.exe -s -f - завершает все работающие программы без вопросов и закрывает Windows XP


 
Eagle-XK ©   (2004-02-27 15:16) [6]

По-моему, от этого даже Винда не застрахована (Ресет :-) ), а если серьезно, то тебе нуно либо:
а. Забыть (или забить, что предпочтительнее)
б. Попробуй перехватьти АПИшную функцию Тэрминэйт :-)
х. Извращайся :-)))


 
Petrovich   (2004-02-27 15:42) [7]

Сам я умею послать его кому-либо, а как чужой терминэйт перехватить? :-)

Обработчик, допустим, можно, в OnMessage повесить. А как называется событие? Подскажите. В справке я только wm_dde_Terminate нашел. Я думаю, оно мне не надо.


 
Игорь Шевченко ©   (2004-02-27 15:46) [8]

Petrovich (27.02.04 15:42)

Еще раз - когда программа завершается через TerminateProcess, это нельзя перехватить. Да и ни к чему.


 
Erik ©   (2004-02-27 15:55) [9]

Вобщето предварительно будет послано WM_CLOSE(точно непомню), а если программа сама незавершится то TerminateProcess.


 
Petrovich   (2004-02-27 15:55) [10]

Спасибо! А зря :-(
Ну да ладно!


 
Андрей Сенченко ©   (2004-02-27 16:56) [11]

Почему же зря. Какова должна быть функциональность программы, чтобы она обязана была продолжать работать даже при принудительном обесточивании Вашего района ?

Вы пишите программу управления марсоходами ?


 
Petrovich   (2004-02-27 17:29) [12]

Нет :-)
Про свет, естественно, не было речи.

Просто думал, что если кто-то прибивает мой процесс, то должен вначале об этом хоть какое-то сообщение послать моей программе. Я, естественно, никакого бы сопротивления не оказывал этому.
Просто бы в лог записал: "Аварийная остановка во столько-то". Ну еще бы, может, СМС-ку себе послал, что программа вырубилась



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.031 c
1-43639
Тимохов
2004-03-02 12:37
2004.03.14
Ищу процедуру из группы Finalize+Initialize


1-43629
Silver_
2004-03-01 19:28
2004.03.14
Трабл с XPManifest-ом в D7. В D6 все OK


1-43525
Batoon
2004-02-28 12:56
2004.03.14
Опять LISTBOX


1-43464
Роман К
2004-02-29 21:57
2004.03.14
Как изменить цвет фона у TProgressBar?


1-43532
vint45
2004-02-28 11:29
2004.03.14
Получение информации о классе (RTTI?)




   Наверх