Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.04.03;
Скачать: [xml.tar.bz2];

Вниз

Незавершаемый процесс   Найти похожие ветки 

 
kosha80   (2003-02-01 14:33) [0]

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

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

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


 
Serious Sam   (2003-02-01 16:15) [1]

service application?


 
kosha80   (2003-02-05 12:05) [2]

Вот как это делается. Спасибо Сергею Бобко.
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;


 
ers   (2003-02-05 12:46) [3]

У меня не работает в 7-ых дельфях кричит что мол неизвестный эдентификатор "ACL_REVISION", что делать?


 
Игорь Шевченко   (2003-02-05 12:55) [4]

Для того, чтобы убедиться в незавершаемости процесса, надо взять с www.sysinternals.com Process Explorer и попробовать снять им.


 
ers   (2003-02-05 12:55) [5]

> У меня не работает в 7-ых дельфях кричит что мол неизвестный эдентификатор "ACL_REVISION", что делать?
Ещё и в шестых глючит тоже;)))
Обишка такая "Undeclared identifier: "ACL_REVISION""!!!
Хотел попробовать в пятых, но она не понимает пакет созданный в шестой или седьмой версии дельфи (Формат записи форм и т.д. у шестой и седьмой дельфи практически одинаковы!!!)


 
ers   (2003-02-05 13:00) [6]

Я кстати закоментировал иф благодаря чему избавился от ошибки, но в седьмых дельфях он убивается кем угодно, а вот в шестых РАБОТАЕТ! Но мой любимый фар убивает его только так;))))))
Так чтоже делать то????


 
ers   (2003-02-05 13:29) [7]

И Process Explorer его убивает только так! Они все (ФАР и Process Explorer) убивают под отладочным режимом (По крайней мере фар), так вот как сделать чтоб ко мене нельзя было подключится отладчиком? Тоесть чтоб меня не могли кильнуть в отладочном режиме?


 
ers   (2003-02-05 13:32) [8]

Кстати службы наверное тоже с такой привилигией работают как и человек выше дал, их (Службы) тоже можено кильнуть фаром.... Тоесть я понимаю как не5которые советуют службу лучше не делать если хочешь себя обезопасить от удаленья.... :(


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

ers (05.02.03 13:32)

А зачем так делать, может, есть другие способы ?


 
ers   (2003-02-05 13:38) [10]

Да мне вот тоже интересны другие способо зыщиты если таковые есть!;)


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

А вы не пробовали в 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;




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

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


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

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


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

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


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

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


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

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


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

ZZ © (05.02.03 16:42)

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


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


> ZZ

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


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

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 17:16) [20]


> ZZ

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


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

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

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


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


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


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


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

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


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

sorry test


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

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

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



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

ZZ © (05.02.03 17:16)


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


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


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

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


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

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


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

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


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

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



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

Форум: "WinAPI";
Текущий архив: 2003.04.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.009 c
3-6373
prihod
2003-03-14 16:11
2003.04.03
Вопрос по структуре БД FoxPro


1-6471
Фагот
2003-03-24 13:17
2003.04.03
Таблица символов


1-6517
кондратий
2003-03-24 19:47
2003.04.03
Удаление непустого каталога вместе с подкаталогами


3-6406
kaif
2003-03-14 12:32
2003.04.03
Как остановить IB сервер?


14-6794
Алексей Валерьевич
2003-03-18 00:50
2003.04.03
Подскижите почему неработает??(статья)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский