Herrlich Dein Erklärung!
* AttachConsole ... wenn das ging, dann ist schon eine Console verbunden (kann man also auch zum Prüfen verwenden, ob Console oder nicht)
Mit
GetConsoleWindow() <> 0 und <> INVALID_HANDLE_VALUE
hab ich bei meinen "dual"-Projekten verwendet. (dual = es war console und/oder
gui in einer .exe, kam auf Parameter an was die .exe beim start machen sollte)