Текущий архив: 2004.04.18;
Скачать: CL | DM;
Внизне убиваемый процесс Найти похожие ветки
← →
Talla2k © (2004-02-07 14:18) [0]Есть некий процесс,причем: приоритет нормальный, потоков 18.
И возникла необходимость убить его.
Стандартый способ не помогает(которым все остальное могу убить)
...
ID:= StrToInt(ListView1.Selected.SubItems[0]);
hProcess:= OpenProcess(PROCESS_ALL_ACCESS, false, ID);
if hProcess <> INVALID_HANDLE_VALUE then begin
TerminateProcess(hProcess, 0) ;
CloseHandle(hProcess); end;
...//что-то типа такого
Кроме того,даже не могу его убить из Диспетчера задач.Диспетчер говорит,что нет прав доступа.
Как быть????
← →
Digitman © (2004-02-07 14:27) [1]это процесс NT-сервиса ?
← →
Talla2k © (2004-02-07 14:36) [2]Судя по всему нет.Это процесс фаервола Sygate Personal Firewall.
← →
Digitman © (2004-02-07 14:40) [3]первый раз слышу. что какой-то файрвол, пусть даже и самый захудалый, был обычным приложением
> Судя по всему нет
на основании чего такие умозаключения ? ты видишь этот процесс в списке процессов taskmanager"а ? это еще ни о чем не говорит
средствами станд.консоли Services убедись в том, что Sygate Personal Firewall не фигурирует в списке инсталлированных в системе сервисов
← →
Talla2k © (2004-02-07 17:34) [4]>средствами станд.консоли Services убедись в том,
>что Sygate Personal Firewall не фигурирует в списке инсталлированных в системе сервисов
Убедился в том,что он ТАМ. :(
И что, теперь никак нельзя его замочить???
← →
DNS (2004-02-07 18:25) [5]Отключить сервис и поставить не загружаться ... И больше его не будет... Если у тебя нет сети и ты не подключен к инету - то там еще много можно отключить... Кстати если тебе не нравиться "новый" стиль ХР (встречал я таких людей :(
то отключи службу тем :)
← →
Nous Mellon © (2004-02-07 20:54) [6]Удалено модератором
Примечание: Offtopic
← →
Talla2k © (2004-02-08 01:41) [7]>to DNS
Мне действия необходимо сделать программно.
Как из Delphi отключить сервис???(причем запученный)
← →
Talla2k © (2004-02-08 14:22) [8]Ну подскажите же!!!
← →
KosilkA © (2004-02-08 14:27) [9]ищи инфу по TerminateProcess + получение debug-привилегии
← →
Serge_ (2004-02-09 00:02) [10]Поищи в HELP по Win32SDK
функцию SetServiceStatus
← →
Digitman © (2004-02-09 09:35) [11]
> Как из Delphi отключить сервис???(причем запученный)
послать ему команду stop
если сервис допускает остановку, он остановится, и процесс сервиса завершится (но только в том случае, если процесс этот реализует только один сервис, потому что в общем случае процесс может реализовывать более чем один сервис)
← →
Polevi © (2004-02-09 09:44) [12]procedure TForm1.Button1Click(Sender: TObject);
var
shell:OleVariant;
begin
shell:=CreateOleObject("Shell.Application");
shell.ServiceStop("Sygate Personal Firewall",false);
end;
← →
sVic (2004-02-09 10:49) [13]http://delphimaster.net/view/4-1075355181/
← →
Talla2k © (2004-02-10 00:33) [14]Всем БОЛЬШОЕ спасибо,разобрался!!!
Вот решение 2 способами:
//для остановки
var
aa:cardinal;ess:TEnumServiceStatus;
begin
aa:=OpenService(OpenSCManager(nil,nil, SC_MANAGER_ALL_ACCESS),"SmcService",SERVICE_ALL_ACCESS);
ControlService(aa,SERVICE_CONTROL_STOP,ess.ServiceStatus);
end;
var shell:OleVariant;
begin
shell:=CreateOleObject("Shell.Application");
shell.ServiceStop("SmcService",false);
end;
// для старта
var shell:OleVariant;
begin
shell:=CreateOleObject("Shell.Application");
shell.ServiceStart("SmcService",true);
end;
var
aa:cardinal;ess:Pchar;
begin
aa:=OpenService(OpenSCManager(nil,nil, SC_MANAGER_ALL_ACCESS),"SmcService",SERVICE_START);
StartService(aa,0,ess);
end;
З.Ы. Вопрос к Polevi .
А где найти описания к командам сервисов через OleObject???
Для запуска сервиса по аналогии сам команду(ServiceStart) выдумал,а она оказывается ТА! :)
← →
Songoku © (2004-02-11 13:53) [15]hProcess:= OpenProcess(PROCESS_TERMINATE, false, ID);
Poprobui sdeat" TAK
Страницы: 1 вся ветка
Текущий архив: 2004.04.18;
Скачать: CL | DM;
Память: 0.5 MB
Время: 0.037 c