Gibt oft mehrere Wege.
Ich hatte dort halt mit AttachConsole/AllocConsole gespielt.
* einmal automatisch von wo es gestartet wurde (z.B. aus CMD oder Explorer/Link) und dementsprecht Ausgabe in Console oder Anzeige einer
GUI
* oder via Parameter
GetConsoleWindow geht explizit auf ein ConsolenFenster.
Was ist, wenn das Programm unsichtbar als Console mit Umleitung der Ausgabe läuft?
Auch ist es möglich eine Anwendung auf einem anderen Nuteraccount oder gar Rechner laufen zu lassen und das ConsolenFenster wo anders zu haben. Da gibt es "hier" dann kein Fenster.
Mir fällt grade ein, dass ich das damals aber auch nicht beachtet hatte. Aber da könnte man die Prüfung einfach auf StdOut bzw. StdIn machen.