Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.114 Beiträge
 
Delphi 12 Athens
 
#6

AW: Prüfen ob ein Prozess (noch) existiert

  Alt 21. Okt 2021, 15:46
Wozu suchen?

Es existiert bereits ein Handle, direkt zu dem Prozess.
jedenfalls bis dahin, wo es geschlossen wird. (CloseHandle)


Wie überall zu finden, kann man also auch direkt warten, mit einem WaitForSingleObject/WaitForMultipleObjects vor dem CloseHandle.
https://www.delphipraxis.net/133505-execandwait.html
https://www.delphipraxis.net/194595-...usfuehren.html
uvvvm.


Schließen muß man es aber garnicht (sofort), also statt der ID hebt man sich das Handle auf.

Und so lange kann man mit WaitForSingleObject/WaitForMultipleObjects warten (mit einem ganz kurzen Timeout kann man es auch nutzen, um zu gucken ob es noch läuft)
oder mit GetExitCodeProcess prüfen ob es schon beendet wurde (wenn nicht, dann liefert das ja ein False).


Am Ende natürlich nicht vergessen zu das Handle freizugeben.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat