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

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

Незавершаемый процесс [D4, D5, D6, D7, NT4, Win2k, WinXP]


Страницы:   1 2

kosha80 ©   (2003-02-01 14:33:00) 

Может кто и знает, как сделать процесс незавершаемым. Точнее что бы только системма могла его закрыть. Я понимаю надо провести какую то работу с правами... или еще что.

Вот в "Диспечере задач" некоторые процессы не завершаются и выводится сообщение "Отказано в доступе" хочу добиться похожего.

Зараннее спасибо.


Игорь Шевченко   (2003-02-06 10:41:00) [1]

Unable to determine IP address from host name for www.delphi.xonix.ru


MARcoDEN   (2003-02-06 10:17:00) [2]

http://www.delphi.xonix.ru/article/?id=untermproc2


ZZ   (2003-02-06 01:29:00) [3]

Оно вообще не от чего не спасет (кроме дисп.задач)


Cosmic   (2003-02-05 19:48:00) [4]

winlogon, services... В смысле, файлы нужно так называть. Вот только от debug это ну никак не спасает.


Игорь Шевченко   (2003-02-05 18:07:00) [5]

ZZ © (05.02.03 17:16)


> On Windows NT/2K, Process Explorer requires that your account
> have the "load driver" and "debug" privileges.


Он через драйвер работает. Этот драйвер в ресурсах сидит и объекты показывает.


ZZ   (2003-02-05 17:57:00) [6]

В общем 3ий раз переписывать ответ нет настроения (а первые 2 не отослались :(

Заменяем GetCurrentProcess на OpenProcess(PROCESS_ALL_ACCESS,false,GetCurrentProcessID);


ZZ   (2003-02-05 17:55:00) [7]

sorry test


gsu   (2003-02-05 17:43:00) [8]

>> Прекрасно снимается :-)
фоту пришлите (-:|~


Игорь Шевченко   (2003-02-05 17:25:00) [9]


> Снимается он там где список процессов


Прекрасно снимается :-)
Только что попробовал. D5, NT4, SP6


ZZ   (2003-02-05 17:16:00) [10]

Игорь Шевченко ©
Process Explorer
On Windows NT/2K, Process Explorer requiresthat your account have the "load driver" and "debug" privileges.
интересно зачем?

ЗЫ. Пробовать не буду, т.к. результат известен - убъет... причем убъет все - и сервис и прогу и (вероятно) winlogon.


aleksey_sv   (2003-02-05 17:16:00) [11]


> ZZ

Совершенно другое дело, теперь я знаю что с делфи у меня всё в порядке :)


ZZ   (2003-02-05 17:07:00) [12]

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,AclApi, Accctrl;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
const
ACL_REVISION = 2;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var ACL : _ACL;
begin
if (InitializeAcl(ACL,SizeOf(_ACL),ACL_REVISION)) and (IsValidAcl(ACL))
then SetSecurityInfo(GetCurrentProcess,SE_KERNEL_OBJECT,DACL_SECURITY_INFORMATION,nil,nil,@ACL,nil);
end;

end.


PS. (НЕ) Снимается он там где список процессов, а не приложений (окон)!


aleksey_sv   (2003-02-05 16:57:00) [13]


> ZZ

У меня тоже Delphi 7 (Enterprise) и не работает, может чтобы небыло таких вопросов вы могли б привести ПОЛНЫЙ РАБОЧИЙ КОД этой проги, а не (по памяти), если у меня она заработает значит ОК если нет значит у меня партачный делфи.
Извините если что не так.


Игорь Шевченко   (2003-02-05 16:46:00) [14]

ZZ © (05.02.03 16:42)

А Process Explorer тоже не снимает ?


ZZ   (2003-02-05 16:42:00) [15]

под Delphi 7 (Enterprise) усе работает


ers   (2003-02-05 16:02:00) [16]

Вот-вот у меня на седьмой тоже свистело при закрытиии;) А вот в шестой откомпилил всё ОК!!!!


aleksey_sv   (2003-02-05 15:44:00) [17]

Странно, проделал все действия, но у меня под win2000 завершает со свистом :).
Писал на делфи 7 (Если это важно)
или у меня Диспечер задач корявый ;)


ZZ   (2003-02-05 14:52:00) [18]

const ACL_REVISION = 2; //по памяти :))
PS. Это работает в ЛЮБОЙ версии Дельфи (:балшой smile: ), но в Win до XP!!! (В XP этот код дает полный доступ к процессу для всех)


Бобко Сергей   (2003-02-05 13:47:00) [19]

А если конкретней то вы и получаете в Диспетчере задач "ОТКАЗАНО В ДОСТУПЕ"


Бобко Сергей   (2003-02-05 13:46:00) [20]

А вы не пробовали в uses дописать AclApi, Accctrl
Кричите не по делу ... Вопрос был как сделать процесс который нельзя было бы убить с пощью Диспетчера задач. Получите код:

uses ..., AclApi, Accctrl;
procedure TMainForm.FormCreate(Sender: TObject);
var ACL : _ACL;
begin
if (InitializeAcl(ACL,SizeOf(_ACL),ACL_REVISION)) and (IsValidAcl(ACL))
then SetSecurityInfo(GetCurrentProcess,SE_KERNEL_OBJECT,DACL_SECURITY_INFORMATION,nil,nil,@ACL,nil);
end;



Страницы:   1 2

Наверх

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