我如何理解用户在cmd窗口上按下了X按钮?

问题描述

我已经用 C ++ 编写了一个程序,退出前我将一些数据存储在文件中。但是,如果用户单击右上角的关闭框(X),则会丢失这些数据。有没有一种方法可以检测用户是否单击了关闭框,以便在退出之前调用某些函数

image of cmd

解决方法

使用SetConsoleCtrlHandler()安装寻找CTRL_CLOSE_EVENT事件的处理程序:

当用户关闭控制台(通过单击控制台窗口的窗口菜单上的“关闭”,或通过单击“任务管理器”中的“结束任务”按钮命令)时,系统发送到该控制台上附加的所有进程的信号。