Форум: "Начинающим";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];
ВнизКак убить процесс, зная его имя... Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.042 c