标签: c++ windows console-application termination
有没有办法在非面向对象的控制台应用程序(简单主程序)的终止(点击控制台的红色X)上调用函数?
也许要抓住红色X的信息然后处理它......
谢谢!
答案 0 :(得分:5)
当您在Windows上并且在正常控制台窗口内运行控制台应用程序,然后单击关闭按钮([X])时,这将生成CTRL_CLOSE_EVENT。
[X]
CTRL_CLOSE_EVENT
您可以通过使用SetConsoleCtrlHandler Win32 API函数安装控制台事件处理程序来处理这些问题。
SetConsoleCtrlHandler
答案 1 :(得分:1)
您可以尝试使用atexit():
http://www.cplusplus.com/reference/cstdlib/atexit/
或者可能是全局对象的析构函数。