如何在visual studio控制台应用程序中禁用控制台窗口的关闭按钮?

vja*_*n27 15 .net c# console

我需要禁用用C#编写的visual studio控制台应用程序的控制台窗口中的关闭按钮.我希望应用程序运行直到它完成,用户不能通过关闭控制台窗口来停止它.我正在使用visual studio 2010

Ren*_*iuz 48

以下是禁用控制台窗口上的关闭按钮的示例:

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();
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 如何右键单击任务栏中的应用程序,然后选择关闭? (4认同)