Страницы

Поиск по вопросам

суббота, 14 декабря 2019 г.

Возможно ли убрать кнопку “Закрыть” в консольном приложении?

#c_sharp #консоль


Можно ли как-нибудь убрать крестик(кнопку) закрытия в консольном приложении C#?
Или даже отменить закрытие программы при нажатии на эту кнопку?
    


Ответы

Ответ 1



Решение этой же проблемы с EN stackoverflow Правда оно не "убирает", а делает неактивной. using System; using System.Runtime.InteropServices; namespace Test { 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(); } } }

Комментариев нет:

Отправить комментарий