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.