Deine neue Instanz merkt am Parameter, dass da noch eine alte Instanz beendet werden muss. Dann meldet diese der ersten Instanz, dass sie erfolgreich gestartet ist und wartet bis sich die erste Instanz beendet hat (der
Mutex also reserviert werden konnte).
Die erste Instanz wartet nach dem Start bis die Antwort der neuen Instanz kommt und beendet sich dann.
Das sollte doch funktionieren, oder?
Ich werd mir das mal anschauen. Das Nervige an der Sache ist, dass ich mal wieder mehr Aufwand treiben muss, weil MS zu doof/faul/whatever ist, um auf allen Systemen ein konsistentes Verhalten hinzubekommen. Schließlich funktioniert es bei Win2k/XP problemlos, und ShellExecuteEx wartet auch dann, wenn fMask gar nicht gesetzt (und damit 0) ist.
MfG Dalai