Einzelnen Beitrag anzeigen

simlei

Registriert seit: 23. Nov 2005
119 Beiträge
 
Delphi 7 Professional
 
#1

Prozess beenden funktioniert nicht - Alternative?

  Alt 16. Feb 2007, 22:35
Hi!
Mein Problem ist, dass ich versuche, mit einem Programm Prozesse zu beenden... Und hat auch alles mit dem Code aus dsdt.info geklappt, aaber seit Patch 2.0.6 (imho) klappt das mit WoW.exe nicht mehr :/ .
Der Code ist folgender:

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;
Versuche ich den Prozess mit dem Taskmanager zu killen klappt das einwandfrei, aber eben mit dieser Routine nicht. Ich kann mich jetzt irren, aber ist der taskmanager nicht auch ein ganz normales Programm?
Also muss es ja auch irgendwie klappen, den Prozess zu beenden, mit firefox.exe zB hats auch wunderbar geklappt u.a.

Idee, anyone?
danke schonmal!

-- Edith möchte euch noch sagen, dass World of Warcraft sich auch nicht als Service registriert hat...
  Mit Zitat antworten Zitat