Montag, 10. November 2008

Konsole in Konsolenanwendung verbergen

Gerade hatte ich mal wieder eine "wie Schuppen von den Augen"-Situation.

Zielsetzung war, eine Konsolenanwendung zu erstellen, bei der die Konsole nicht sichtbar sein sollte.
Zuerst habe ich an etwas gedacth wie Console.Hide(), doch eine solche Methode existiert nicht.
Dann habe ich Google bemüht und seltsame Verrenkungen gefunden, die einen DllImport benötigten. Auch nicht gerade die feine Art, wie ich fand.

Und dann schoss es mir in den Kopf: Einfach den Ausgabetyp auf Windows-Anwendung setzen und glücklich werden!
Schon erstaunlich, wie einfach es manchmal sein kann und wie weit man dennoch daneben liegt...

P.S.: Gerade habe ich noch gesehen, dass in den Kommentaren des obigen Blog-Eintrags die von mir verwendete Möglichkeit tatsächlich auch von jemandem erwähnt wurde.

1 Kommentar:

Tropensturm hat gesagt…

Also die komische Version vom Link, was man auch in MSDN Foren seltsamerweise so verbreitet findet geht deutlich eleganter mit .NET Funktionalitäten in C#

Process myProcess = Process.GetCurrentProcess();

myProcess.CloseMainWindow();


Klar hat es dann noch immer den Nachteil, dass erstmal ein Window geöffnet wird, was ja auch logisch ist aber für bestimmte Anwendungsfälle ist das durchaus eine deutlich bessere Lösung als mit dem Handler rum zu hantieren, da sichtlich kürzer ;)