一个delphi 杀进程的函数 参数为文件名 如 QQ.exe
- 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;