c# - 如何在 Visual Studio 控制台应用程序中禁用控制台窗口的关闭按钮?

标签 c# .net console

我需要禁用 visual studio 控制台的控制台窗口中的关闭按钮 用 C# 编写的应用程序。我希望应用程序运行直到完成 并且用户不应该能够通过关闭控制台窗口来停止它。我正在使用 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();
    }
}

关于c# - 如何在 Visual Studio 控制台应用程序中禁用控制台窗口的关闭按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6052992/

相关文章:

c# - 寻求使用 C# 读取 .yaml 文件的指导

c# - 多维数组 [][] 与 [,]

c# - OR 运算符的序列

c# - 如何使用 Rx 监控项目文件和文件的外部更改?

ios - 从 beta tester iOS 设备获取日志的最简单方法?

c# - 为什么这会导致预编译错误,即该词典类在当前上下文中不存在?

c# - 在新线程中启动表单并在它们之间引发事件

c# - 将 String.Replace 替换为 Regex.Replace

vb.net - 如何通过键入 EXIT 来关闭控制台应用程序?

c# - C# 中控制台的最大列数