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

Запрет на удаление процесса по средвам ACL   Найти похожие ветки 

 
Комбинатор   (2005-01-03 21:08) [0]

Необходимо, чтобы процесс не вырубался из диспетчера задач.
На форуме нашёл след. код:

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(GetCurrentProcessDACL_SECURITY_INFORMATION, SecDescriptor);
end;

Он работает, но с одной проблемой:

я запрещаю доступ "всем", т.е. и пользователю и системе ->
когда я пытаюсь ПУСК->Завершение работы->Перезагрузка(или Завершение работы) система не перезагружается и не вырубается.
Я думаю из-зи того, что пытается и не может вырубить мой процесс.
Подскажите как запретить доступ не всем, а только "юзеру"...
Заранее спасибо!


 
kaZaNoVa ©   (2005-01-03 21:38) [1]

Комбинатор   (03.01.05 21:08)
прикольный код, но ProcessExplorer всё равно превосходно убивает такой процесс :))))


 
Комбинатор   (2005-01-03 21:57) [2]

а...из far"а тоже с дебаг привилегиями убивается....моя задача - только запрет на диспетчер задач.


 
kaZaNoVa ©   (2005-01-03 22:12) [3]

Комбинатор   (03.01.05 21:57) [2]
круто придумано:))
а не проще тогда сервис написать?


 
Fay ©   (2005-01-04 00:20) [4]

2 Комбинатор   (03.01.05 21:08)
>> InitializeACL(SecACL, SizeOf(SecACL), 2);
2 - это ACL_REVISION? А что, западло так и написать?



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

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



Память: 0.45 MB
Время: 0.027 c
1-1107511179
JaoDa
2005-02-04 12:59
2005.02.20
Передача события из dll


9-1100536487
Kobik
2004-11-15 19:34
2005.02.20
Диздок


14-1107119251
Leaner
2005-01-31 00:07
2005.02.20
Пошаговая отладка в DLL.


14-1106817355
Vaitek
2005-01-27 12:15
2005.02.20
Школьная геометрия


1-1107717138
Tu134
2005-02-06 22:12
2005.02.20
Как мышкой изменять размеры Panel в run-time?




   Наверх