Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.27;
Скачать: CL | DM;

Вниз

Как убить процесс, зная его имя...   Найти похожие ветки 

 
Max.66RUS ©   (2006-08-03 15:17) [0]

Подскажите пожалуйста кто-нибудь исходник функции или процедуры, которая убивает любой процесс по его имени. У меня есть исходник такой функции, но она не убивает системные процессы. Т.е. функция срабатывает, а процесс всё равно остается. А мне нужно чтобы эта функция убивала и системные процессы. Вот исходник функции, которая есть у меня, может кто-нибудь подскажет как нужно её переделать чтобы с помощью неё убивались и системные процессы. Заранее спасибо.

Вот исходник моей функции:

Function KILL_PROCESS(ExeFileName: string): integer;
Const
PROCESS_TERMINATE=$0001;
Var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
Begin
result := 0;
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
While integer(ContinueLoop) <> 0 do
Begin
If ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = UpperCase(ExeFileName))
or (UpperCase(FProcessEntry32.szExeFile) = UpperCase(ExeFileName))) then
Result := Integer(TerminateProcess(OpenProcess(PROCESS_TERMINATE, BOOL(0),FProcessEntry32.th32ProcessID), 0));
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
End;
CloseHandle(FSnapshotHandle);
End;


 
имя   (2006-08-03 15:31) [1]

Удалено модератором


 
Ketmar ©   (2006-08-03 15:33) [2]

> [0] Max.66RUS ©   (03.08.06 15:17)

пакостестроители живут в других местах.


 
Сергей М. ©   (2006-08-03 15:37) [3]


> нужно чтобы эта функция убивала и системные процессы.


> как нужно её переделать


Ее не переделать - ее переписать "с нуля" нужно)


 
Max.66RUS ©   (2006-08-03 16:32) [4]

Может у кого есть всё-таки исходник такой функции?


 
Игорь Шевченко ©   (2006-08-03 16:41) [5]


> А мне нужно чтобы эта функция убивала и системные процессы


А зачем их убивать ? Это негуманно...


 
Сергей М. ©   (2006-08-03 16:43) [6]

Может и есть)
Но лучший исходник - это исходник, рожденный в собственной репе собственной головы)

см. EnumProcesses (psapi.pas)
+ AdjustTokenPrivelegies()


 
Max.66RUS ©   (2006-08-03 16:43) [7]

Да мне их не все нужно убивать - а только пару штук, чтобы отключить таким образом некоторые службы...


 
Игорь Шевченко ©   (2006-08-03 16:45) [8]

Max.66RUS ©   (03.08.06 16:43) [7]


> а только пару штук, чтобы отключить таким образом некоторые
> службы...


Службы превосходно отключаются через панель управления...А убийство процессов служб может привести к разного рода непредсказуемым эффектам.


 
Max.66RUS ©   (2006-08-03 16:45) [9]

Всем спасибо. Буду разбираться.


 
Ketmar ©   (2006-08-03 16:48) [10]

> [7] Max.66RUS ©   (03.08.06 16:43)

а чтобы выключить компьютер, ты режешь силовой кабель, идущий от подстанции к дому?


 
Max.66RUS ©   (2006-08-03 16:49) [11]

Нет - не режу...Просто для моей задачи подходит только вариант с убийством процессов.


 
Сергей М. ©   (2006-08-03 16:55) [12]


> Max.66RUS ©   (03.08.06 16:49) [11]


> Просто для моей задачи подходит только вариант с убийством
> процессов.


Просто дилетантство твое должно было быть подчеркнуто особо.

Судя по вышеизложенному тобой, НЕТ никакого очевидного повода для принудительного терминироавния процессов, будь они хоть сервисы, хоть хренервисы)


 
Ketmar ©   (2006-08-03 16:58) [13]

> [11] Max.66RUS ©   (03.08.06 16:49)

значит -- режешь.



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

Текущий архив: 2006.08.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.027 c
15-1154599687
3S
2006-08-03 14:08
2006.08.27
Как вернуть..


2-1154861442
ЮзерОК
2006-08-06 14:50
2006.08.27
ListBox


1-1152863112
oleggar
2006-07-14 11:45
2006.08.27
decimalseparator


15-1153418279
Dok_3D
2006-07-20 21:57
2006.08.27
Чего все ополчились против Израиля?


3-1150877258
Mishenka
2006-06-21 12:07
2006.08.27
Запись файла нулевой длины