[转]使用API屏蔽掉控制台应用程序的关闭按钮

using System;

using System.Diagnostics;

using System.Runtime.InteropServices;

namespace ConsoleApplication3

{

    class Program

    {

        [DllImport("user32.dll", EntryPoint = "FindWindow")]

        extern static IntPtr FindWindow(string lpClassName, string lpWindowName);

 

        [DllImport("user32.dll", EntryPoint = "GetSystemMenu")]

        extern static IntPtr GetSystemMenu(IntPtr hWnd, IntPtr bRevert);

 

        [DllImport("user32.dll", EntryPoint = "RemoveMenu")]

        extern static IntPtr RemoveMenu(IntPtr hMenu, uint uPosition, uint uFlags); 

 

        static void closebtn()

        {

            IntPtr windowHandle = FindWindow(null, Process.GetCurrentProcess().MainModule.FileName);

            IntPtr closeMenu = GetSystemMenu(windowHandle, IntPtr.Zero);

            uint SC_CLOSE = 0xF060;

            RemoveMenu(closeMenu, SC_CLOSE, 0x0);

        }

        static void Main(string[] args)

        {

          closebtn();

            Console.WriteLine("Starting...");

            Console.Read();

        }

    }

}


 来自:

 http://www.cnblogs.com/ylhome/archive/2009/05/17/1458864.html

原文地址:https://www.cnblogs.com/answer/p/1617997.html