![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
(w2k) Как закрыть приложение по имени ехе в NT истемах.
Jakommo © (2003-03-04 18:28:00)Уважаемые, мастера! В *основном* разделе я задавал аналогичный вопрос, но сколько мне хватило знаний я понял, что это годится для вин98-95. Подскажите, пожалуйста как тоже самое сделать для вин2000.
Jakommo (2003-03-05 10:00:00) [1]>ZZ Похоже действительно перемудрил...
>ScaliaR Огромное спасибо!
ScaliaR (2003-03-05 03:39:00) [2]
function KillTask(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;
код не мой, взял с delphibase.endimus.com
под 2k вроде работает
ZZ (2003-03-05 00:31:00) [3]Вероятно ты не правильно понял :) Ищутся процессы (по имени) в Win9x и Win2000 одинаково (это в NT4 по другому). А завершаются (несистемные) процессы везде одинаково.