我需要禁用在C#编写的Visual Studio控制台应用程序中控制台窗口的关闭按钮。我希望该应用程序能一直运行直到完成,用户无法通过关闭控制台窗口来停止它。我正在使用Visual Studio 2010。
以下是一个示例,用于禁用控制台窗口的关闭按钮:
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();
}
}