uses
TlHelp32;
function MatarProcesos(nombre: string): boolean;
var
moduleEntry: TModuleEntry32;
processEntry: TProcessEntry32;
hSnapshot, hProcess: cardinal;
begin
result := false;
moduleEntry.dwSize := SizeOf(TModuleEntry32);
processEntry.dwSize := SizeOf(TProcessEntry32);
hSnapshot := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS,0);
if Process32First(hSnapshot,processEntry) then
begin
repeat
if (lstrcmpi(PChar(nombre),@processEntry.szExeFile) = 0) then
begin
hProcess := OpenProcess(PROCESS_TERMINATE,
false,processEntry.th32ProcessID);
result := TerminateProcess(hProcess,0);
CloseHandle(hProcess);
end;
until not Process32Next(hSnapshot,processEntry);
end;
CloseHandle(hSnapshot);
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
MatarProcesos('calc.exe');
end;