Mostrar/ocultar la ventana de la consola de una aplicación de consola C#
Busqué en Google información sobre cómo ocultar la ventana de la propia consola. Sorprendentemente, las únicas soluciones que pude encontrar fueron soluciones ingeniosas que implicaban FindWindow()
encontrar la ventana de la consola por su título . Profundicé un poco más en la API de Windows y descubrí que hay una manera mucho mejor y más sencilla, así que quería publicarla aquí para que otros la encuentren.
¿Cómo puedo ocultar (y mostrar) la ventana de la consola asociada con mi propia aplicación de consola C#?
Aceptado
Simplemente vaya a Propiedades de la aplicación y cambie el tipo de salida de Aplicación de consola a Aplicación de Windows .
Así es cómo:
using System.Runtime.InteropServices;
[DllImport("kernel32.dll")]
static extern IntPtr GetConsoleWindow();
[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
const int SW_HIDE = 0;
const int SW_SHOW = 5;
var handle = GetConsoleWindow();
// Hide
ShowWindow(handle, SW_HIDE);
// Show
ShowWindow(handle, SW_SHOW);