1,593
社区成员
发帖
与我相关
我的任务
分享
function KillTask(const ExeName: string): Boolean;
{
强制终止ExeName对应的应用程序
}
var
lppe: TProcessEntry32;
SH, PID: THandle;
Found: boolean;
begin
Result := False;
EnablePrivilege('SeDebugPrivilege', True);
lppe.dwSize := SizeOf(lppe);
SH := CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
found := Process32First(SH, lppe);
while found do
begin
if SameText(ExeName, ExtractFileName(lppe.szExeFile)) then
begin
PID := OpenProcess(PROCESS_ALL_ACCESS, true, lppe.th32ProcessID);
Result := TerminateProcess(PID, DWORD(-1));
CloseHandle(PID);
end;
found := Process32Next(SH, lppe);
end;
EnablePrivilege('SeDebugPrivilege', False);
end;