如何防止控制台应用程序无条件关闭?

时间:2016-11-15 14:42:40

标签: c# console-application confirm

重复:

  • 如何删除关闭按钮(我想保留它)
  • 如何防止自动关闭应用程序(不是我的问题)

我的情况是这样的 - 我有一个典型的控制台应用程序,在运行时打开控制台窗口。单击关闭(x)按钮可以关闭该控制台窗口。用户点击它,应用程序关闭。

我想检测关闭(这可以通过SetConsoleCtrlHandler完成),显示是/否确认对话框(在WinForms的帮助下这不是问题)如果用户选择留在应用程序中阻止关闭 - 这 是一个问题。

MSDN for SetConsoleCtrlHandler表示无论您从处理程序返回什么,应用程序都将被终止。处理程序返回值的说明:

  

返回FALSE。如果没有注册的处理函数返回   是的,默认处理程序终止进程。返回TRUE。在这   case,没有调用其他处理函数,系统终止   过程

因此,我可以检测到关闭的时刻,但它无助于阻止关闭。

在GUI方面,我正在寻找活动"关闭",而不是"关闭"。

那么如何检测控制台应用程序的关闭,显示确认对话框并阻止关闭(如果是用户选择)?

0 个答案:

没有答案