![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
принудительное закрытие приложения [D7, Win2k, WinXP]
sia © (2007-01-09 18:02:00)привет.
как мне в моем приложении отследить его принудительное закрытие (три клавиши или завершение процесса в диспетчере задач)? OnClose и OnCloseQuery в этом случае не реагируют.
evvcom (2007-01-10 11:08:00) [1]> [7] Anatoly Podgoretsky © (09.01.07 19:37)
> и о его сексуальных пристрастиях
и наличии горба на спине :)
sia (2007-01-09 19:51:00) [2]спасибо :)
kaZaNoVa (2007-01-09 19:49:00) [3]sia © (09.01.07 19:44) [8]
перехват апи тут недавно были сообщения ....
но лично я бы делал все чтобы не зависало .. ну и сохранял в файл промежуточные резульаты работы в критических ситуациях))
Anatoly Podgoretsky © (09.01.07 19:37) [7]
:)
sia (2007-01-09 19:44:00) [4]:)
а как его перехватить?
идея с файлом с инфой тоже классная...
Anatoly Podgoretsky (2007-01-09 19:37:00) [5]> kaZaNoVa (09.01.2007 19:25:06) [6]
О его моральном облике, о его маме и о его сексуальных пристрастиях
kaZaNoVa (2007-01-09 19:25:00) [6]еще мона перехватить
TerminateProcessи при попытке убить твою программу вежливо сообщать юзеру о нечистоплотности его намерения :)
kaZaNoVa (2007-01-09 19:21:00) [7]GetMem(SecDescriptor, SECURITY_DESCRIPTOR_MIN_LENGTH);
kaZaNoVa (2007-01-09 19:20:00) [8]попробуй: (что будет-честно, не знаю))))))
Procedure SetProcessSelfSecurity;
Var
SecDescriptor : PSecurityDescriptor;
SecACL : ACL;
begin
GetMem(SecDescriptor, SizeOf(TSecurityDescriptor));
InitializeSecurityDescriptor(SecDescriptor, SECURITY_DESCRIPTOR_REVISION);
InitializeACL(SecACL, SizeOf(SecACL), 2);
SetSecurityDescriptorDACL(SecDescriptor, True, @SecACL, False);
SetKernelObjectSecurity(GetCurrentProcess, DACL_SECURITY_INFORMATION, SecDescriptor);
end;
kaZaNoVa (2007-01-09 19:17:00) [9]sia © (09.01.07 19:13) [2]
как же мне, всетаки, отследить это событие?
где-то был код ... но в общем случае никак ... TerminateProcess не спрашивает у приложения, можно ли его закрыть .. а просто убивает ..
просто надо при начале вычислений инфу сбрасывать в файл чтобы потом продолжить например или ввести еще прогу чтобы запускала повторно, если выключат ...
sia (2007-01-09 19:13:00) [10]есть некоторые отчеты, которые создают впечатление зависшего приложения. причину такой работы этих отчетов обьяснять не хочу. нетерпеливый пользователь срубает приложение и все. организационные способы борьбы с такими пользователями бесполезны. хочу, хоть как-то, с этим бороться.
как же мне, всетаки, отследить это событие?
Dmitrij_K (2007-01-09 18:48:00) [11]Сразу вопрос - зачем?
У пользователя должен быть способ аварийного завершения твоей программы