不重复:
我的情况是这样的 - 我有一个典型的控制台应用程序,在运行时打开控制台窗口。单击关闭(x)按钮可以关闭该控制台窗口。用户点击它,应用程序关闭。
我想检测关闭(这可以通过SetConsoleCtrlHandler
完成),显示是/否确认对话框(在WinForms的帮助下这不是问题)如果用户选择留在应用程序中阻止关闭 - 这 是一个问题。
MSDN for SetConsoleCtrlHandler
表示无论您从处理程序返回什么,应用程序都将被终止。处理程序返回值的说明:
返回FALSE。如果没有注册的处理函数返回 是的,默认处理程序终止进程。返回TRUE。在这 case,没有调用其他处理函数,系统终止 过程。
因此,我可以检测到关闭的时刻,但它无助于阻止关闭。
在GUI方面,我正在寻找活动"关闭",而不是"关闭"。
那么如何检测控制台应用程序的关闭,显示确认对话框并阻止关闭(如果是用户选择)?