Das riecht ein wenig nach Aufwand, doch in diesem Zusammenhang wird auf die Job-
API von Windows verwiesen. Ein "Job" ist - bildlich gesprochen - eine Hülle um einen Prozess, den Du startest. Sollte dieser Prozess weitere Unterprozesse starten, sind sie automatisch Teil des Jobs. Mittels WaitForSingleObject() kannst Du dann in gewohnter Weise darauf warten, bis alle Prozesse des Jobs beendet sind.
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
Daniel R. Wolf
mit Grüßen aus Hamburg