uses Tlhelp32; function KillTask(ATask: string): Boolean; var Loop: Boolean; hd: THandle; pe: TProcessEntry32; begin Result := False; hd := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); pe.dwSize := Sizeof(pe); Loop := Process32First(hd,pe); while Loop do begin if ((UpperCase(ExtractFileName(pe.szExeFile)) = UpperCase(ATask)) or (UpperCase(pe.szExeFile) = UpperCase(ATask))) then Result := TerminateProcess(OpenProcess($0001,False,pe.th32ProcessID),0); Loop := Process32Next(hd,pe); end; CloseHandle(hd); end;