Ich hätte jetzt
CreateProcess und
WaitForSingleObject vorgeschlagen.
In einem Parameter von CreateProcess erhältst du die PID des gestarteten Prozesses, mit deren Hilfe du dann WaitForSingleObject nutzen kannst um so auf das Beenden des gestarteten Prozesses zu warten.