Zum Positionieren brauchst du ein Fensterhandle, kein Prozesshandle. Am besten startest du den Prozess mit CreateProcess (da erhältst du das
Handle des ersten Threads), wartest mit WaitForInputIdle darauf, dass die Initialisierung abgeschlossen ist und holst dir dann mit EnumThreadWindows alle Top-Level-Fenster des ersten Threads. Dabei solltest du lediglich ein Fenster finden, welches du dann neu positionieren kannst.