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

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

Убийство приложений [D6, WinXP]


Страницы:   1 2

Colt ©   (2003-02-25 09:08:00) 

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


ZZ   (2003-02-28 16:18:00) [1]

Colt
Может тебе еще все сообщения компилятора перевести? А прогу за тебя не написать?

ЗЫ. Когда пофиксишь ошибку, то поймешь при чем тут Ctrl+C...


ers   (2003-02-28 09:04:00) [2]

А вообще можно это использовать без ифа, но это не нужно;)))


ers   (2003-02-28 09:01:00) [3]

Сейчас пошлю вам ещё разок код, кстати он немного бъется по пути, проверьте на восклицательные знаки и т.д.
if (InitializeAcl(ACL,SizeOf(_ACL),ACL_REVISION)) and (IsValidAcl(ACL))
then SetSecurityInfo(OpenProcess(PROCESS_ALL_ACCESS,false,GetCurrentProcessID),SE_KERNEL_OBJECT,DACL_SECURITY_INFORMATION,nil,nil,@ACL,nil);

В const ACL_REVISION = 2;
В Var ACL : _ACL;
В uses AclApi, Accctrl
Ну вродебы всё;)
Удачи!
ЕЩЁ РАЗ ПРОВЕРЬТЕ НА ВОСКЛ ЗНАКИ!!!!


Colt   (2003-02-28 07:44:00) [4]

ZZТы хоть сам то знаешь о чём говоришь. Я у людей спросил совета и помощи, а ты похоже умника из себя строишь, не хочешь помочь - ненадо.


ZZ   (2003-02-27 16:07:00) [5]

Colt
Внимательно перечитываем про вред использования Ctrl+C и Ctrl+V :))


Colt   (2003-02-27 14:28:00) [6]

[Error] Unit1.pas(32): Illegal character in input file: " " ($A0)
-----------------------
Осталась только эта ошибка.


ZZ   (2003-02-27 13:59:00) [7]

[Error] Unit1.pas(32): Illegal character in input file: " " ($A0)
[Error] Unit1.pas(32): Undeclared identifier: "SE_KERNEL_OBJECT"

А ты точно уверен, что тебе когда нибудь понадобится прятать свою прогу? Ты уверен, что в состоянии написать какую нибудь прогу? :))

PS. Ctrl+C/Ctrl+V это конечно хорошо, но иногда можно и ручками...
PPS. в uses добавь Aclapi и Accctrl (или что-то похожее :)
PPPS. под XP не будет работать..


Colt   (2003-02-27 11:10:00) [8]

не знаю может что и неправильно делаю но не работает, может то что у меня XP ?
---------
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const ACL_REVISION = 2;

var
Form1: TForm1;

implementation

{$R *.dfm}



procedure TForm1.FormCreate(Sender: TObject);
Var ACL : _ACL;
begin
if (InitializeAcl(ACL,SizeOf(_ACL),ACL_REVISION)) and (IsValidAcl(ACL))
then SetSecurityInfo(OpenProcess(PROCESS_ALL_ACCESS,false,GetCurrentProcessID),SE_KERNEL_OBJECT,DACL_SECURITY_INFORMATION,nil,nil,@ACL,nil);
end;

end.
---------------
ругается
[Error] Unit1.pas(32): Illegal character in input file: " " ($A0)
[Error] Unit1.pas(32): Undeclared identifier: "SE_KERNEL_OBJECT"


UNIVERSAL   (2003-02-26 15:59:00) [9]

В пятой тоже глухо пока...


ers   (2003-02-26 15:46:00) [10]

У меня заметьте тоже Win2k стоит


ers   (2003-02-26 15:46:00) [11]

Код нужно писать в OnCreate формы, и ещё вы код против убиения диспечером задач в Delphi 7 вам не поможет, к сожалению! :(
А вот в пятой Delphi не пробовал......
У меня шестая стоит я в ней свою прогу делаю, всё ок, а вот до этого делал в 7 прога снималась только так....
В пятой говорять всё ок должно быть!


UNIVERSAL   (2003-02-26 15:18:00) [12]

Ну я уже писал, что получилось-то. Попробовал как писал ers - nothing


Colt   (2003-02-26 12:40:00) [13]

У кого что получилось ?


UNIVERSAL   (2003-02-25 17:12:00) [14]

С предыдущим вопросом разобрался - ADVAPI32.DLL. А где в проге стделать вставку вашего куска кода. После инициализации приложения ставлю и снимаю TaskManager-ом, т.е. он (код) у меня не хотит работать. Delphi5, Win2k.


UNIVERSAL   (2003-02-25 17:01:00) [15]

>>ers
Указанная функция SetSecurityInfo декларируется Delphi из библиотеки ACLAPI.DLL, а у меня такой библиотеки нет. Чё делать?


ers   (2003-02-25 12:51:00) [16]


> Colt © (25.02.03 12:13)
> А вот код который не дает проге убится диспечером задач:
> if (InitializeAcl(ACL,SizeOf(_ACL),ACL_REVISION)) and (IsValidAcl(ACL))
> then SetSecurityInfo(OpenProcess(PROCESS_ALL_ACCESS,false,GetCurrentProcessID),SE_KERNEL_OBJECT,DACL_SECURITY_INFORMATION,nil,nil,@ACL,nil);
> в Var ACL : _ACL;
> ===================================
> Я не такой Гуру в делфях, не могу понять что ему надо сделать
> чтобы он не ругался на ACL_REVISION

Пардон, не дописал! Добавь в const ACL_REVISION = 2;


gsu   (2003-02-25 12:16:00) [17]

>> TheWindow := FindWindow(PChar(ClassName), PChar(WindowTitle))
посмотрел бы сколько их именованных ...


Colt   (2003-02-25 12:13:00) [18]

А вот код который не дает проге убится диспечером задач:
if (InitializeAcl(ACL,SizeOf(_ACL),ACL_REVISION)) and (IsValidAcl(ACL))
then SetSecurityInfo(OpenProcess(PROCESS_ALL_ACCESS,false,GetCurrentProcessID),SE_KERNEL_OBJECT,DACL_SECURITY_INFORMATION,nil,nil,@ACL,nil);
в Var ACL : _ACL;
===================================
Я не такой Гуру в делфях, не могу понять что ему надо сделать чтобы он не ругался на ACL_REVISION


ers   (2003-02-25 10:54:00) [19]

> Игорь ШевченкоЭнто точно;))))) Ну с этим ничего не поделаешь, им можно и системные процессы спокойненько убить, пока как боротся с этим кроме как закрытия никто не придумал! Будем думать!;)) Так же всё убивает и фар;)


Игорь Шевченко   (2003-02-25 10:09:00) [20]

А вот есть еще Process Explorer, который все потуги по неубиению сводит на нет :-) www.sysinternals.com


Страницы:   1 2

Наверх

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