Einzelnen Beitrag anzeigen

mholup

Registriert seit: 20. Nov 2008
4 Beiträge
 
#7

Re: Prozesse wie bekomme ich raus ob ein Prozess läuft

  Alt 7. Jan 2009, 13:24
Hallo,

hier zwei Möglichkeiten nen Prozess zu beenden:

1:
Delphi-Quellcode:
function KillTask(const AExeName: string): boolean;
var
  p: TProcessEntry32;
  h: THandle;
begin
  Result := false;
  p.dwSize := SizeOf(p);
  h := CreateToolHelp32Snapshot(TH32CS_SnapProcess, 0);
  try
    if Process32First(h, p) then
      repeat
        if AnsiLowerCase(p.szExeFile) = AnsiLowerCase(AExeName) then
          Result := TerminateProcess(OpenProcess(Process_Terminate,
                                                 false,
                                                 p.th32ProcessID),
                                     0);
      until (not Process32Next(h, p)) or Result;
  finally
    CloseHandle(h);
  end;
end;
2:
Delphi-Quellcode:
Function KillProcess(PID: Integer): Boolean;
//Funktion, stark modifiziert, kopiert von Michael Puff's Sysinfo
//war zu faul die selbst nachzuschlagen ;)
var
  hProcess : Cardinal;
begin
  { open the process and store the process-handle }
  hProcess:= OpenProcess(PROCESS_ALL_ACCESS, False, PID);
  if(hProcess<>0) then
    { kill it }
    if(TerminateProcess(hProcess,0)) then result:=true else result:=false
  else
    Result:=false;
closehandle(hProcess);
end;
  Mit Zitat antworten Zitat