Dass es keine Lösung gibt, ist zuviel gesagt. Es stellt sich nur die Frage nach dem Aufwand.
Spontan fallen mir folgende Möglichkeiten ein:
- Den Prozess via TerminateProcess abschießen: Klar, hier wird das Programm natürlich nicht "ordnungsgemäß beendet"
- Einen Snapshot machen und die Fensterliste abklappern und kucken, welcher Fenstername am ehesten das Hauptfenster sein könnte
- Einen Snapshot machen, die Fensterliste abklappern und jedes(!!) Fenster schließen: ziemlich brutal, hier kann ähnliches passieren wie bei (1)
- Eine DLL in den fremden Prozess injezieren, die ExitProcess aufruft und somit eine "sanfte" Termininierung herbeiführt. Oder anders gesagt: Mit Kanonen auf Spatzen geschossen. Aber gut, man kann sie damit ja auch treffen