Как я могу отключить кнопку закрытия окна консоли в приложении для визуальной студии?

Мне нужно отключить кнопку закрытия в окне консоли визуальной студийной консоли приложение, написанное на С#. Я хочу, чтобы приложение выполнялось до тех пор, пока оно не завершится и пользователь не должен останавливать его, закрывая окно консоли. Я использую visual studio 2010

Ответ 1

Вот пример отключения кнопки закрытия в окне консоли:

class Program
{
    private const int MF_BYCOMMAND = 0x00000000;
    public const int SC_CLOSE = 0xF060;

    [DllImport("user32.dll")]
    public static extern int DeleteMenu(IntPtr hMenu, int nPosition, int wFlags);

    [DllImport("user32.dll")]
    private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);

    [DllImport("kernel32.dll", ExactSpelling = true)]
    private static extern IntPtr GetConsoleWindow();

    static void Main(string[] args)
    {
        DeleteMenu(GetSystemMenu(GetConsoleWindow(), false),SC_CLOSE, MF_BYCOMMAND);
        Console.Read();
    }
}

Ответ 2

Могу ли я когда-нибудь включить кнопку закрытия? Например, если мне нужно отключить только для некоторых операций, а затем включить его.

Спасибо