![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Можно ли отловить экстренное закрытие программы? [D5, Win95/98, WinME, WinXP]
denmin © (2004-08-20 10:00:00)Здравствуйте. Бывает такое, что программа при выполнении виснет, тогда закрыть ее можно только через диспетчер задач, или вообще виснет компьютер, тогда спасает только резет. Так вот необходимо отловить экстренное закрытие программы, и на это событие поставить обработку, а именно почистить временные базы.
Заранее благодарен.
Digitman (2004-08-20 10:12:00) [1]
> Denmin © (20.08.04 10:07) [4]
а вот если НЕ рассматривать ситуацию с полным "зависанием компа" и ограничиться только ситуацией с "зависанием" твоего проблемного приложения, то здесь еще можно что-то попытаться предпринять ... хотя и не есть это хорошо ..
ну , скажем, внедрить в АП всех GUI-процессов код, который перехватит вызов ф-ции TerminateProcess и известит специально подготовленное тобой приложение (надеюсь, оно-то не будет у тебя "висеть" ?) о попытке вызова этой ф-ции
Izyum (2004-08-20 10:11:00) [2]Может имеет смысл проверять/читсить временные базе не при завершении, а при запуске проги?
Denmin (2004-08-20 10:07:00) [3]->Digitman
да, ты прав, что-то я не подумал. извините.
Digitman (2004-08-20 10:05:00) [4]
> виснет компьютер
> необходимо отловить экстренное закрытие программы, и на
> это событие поставить обработку, а именно почистить временные
> базы
прелюбопытно, отдаешь ли ты себе отчет в том, что если компьютер "завис", то ни о каких программах, еще способных что-то делать, речи уже идти не может, ибо комп в этот момент уже представляет собой едва ли не просто кучу бесполезного металлического хлама ?
ssk (2004-08-20 10:04:00) [5]было бы конечно неплохо, если бы программа работала, а компьютер "висел".
Рамиль (2004-08-20 10:02:00) [6]нельзя, на то оно и экстренное. Лучше пиши при запуске в реестр какой нибудь флаг, а при нормальном завершении его удаляй. при следующем запуске будет понятно, как завершилась программа.