有没有办法在非面向对象的控制台应用程序(简单主程序)终止时调用一个函数(点击控制台的红色X)?
也许赶上红X的消息,然后处理它…
谢谢!
当你在Windows上,并有一个控制台应用程序在正常控制台窗口内运行,然后点击关闭按钮( [X] ),这将生成一个CTRL_CLOSE_EVENT 。
[X]
CTRL_CLOSE_EVENT
您可以通过使用SetConsoleCtrlHandler Win32 API函数安装控制台事件处理程序来处理这些事件。
SetConsoleCtrlHandler
你可以尝试使用atexit():
http://www.cplusplus.com/reference/cstdlib/atexit/
或者也许是一个全局对象的析构函数。