#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(); } } }
Комментариев нет:
Отправить комментарий