Thema: Delphi Prozess Beenden

Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#19

Re: Prozess Beenden

  Alt 15. Aug 2005, 11:03
Und genau das ist das Problem:
Ret := TerminateProcess(Ph, 0); weswegen ich meinen Code vorziehen würde. TerminateProcess arbeitet asynchron:
Zitat von PSDK:
TerminateProcess initiates termination and returns immediately.
Das heißt, es leitet den Prozess zum Beenden des Prozesses ein und kehrt sofort zurück. Der Rückgabewert signalisiert nur, ob TerminateProcess korrekt ausgeführt wurde, sprich, mit einem korrekten Prozesshandle. Der Rückgabewert sagt jedoch nichts darüber aus, ob der Prozess auch tatsächlich termniniert wurde. Deswegen sieht meine Routine so aus:
Delphi-Quellcode:
{...}
    dw := Integer(TerminateProcess(hProcess, 1));
    if dw <> 0 then
    begin
      // TerminateProcess returns immediately, so wie have to verify the result via
      // WaitForSingleObject
      dw := WaitForSingleObject(hProcess, Wait);
      if dw = WAIT_FAILED then
        dw := GetLastError;
    end
{...}
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat