2014-01-28 37 views
1

有没有办法在非面向对象的控制台应用程序(简单主程序)的终止处调用函数(点击控制台的红色X)?终止前的调用函数C++

也许赶上红色的X的消息并处理它,然后...

谢谢!

+0

_单击控制台的X并不意味着必须退出。请具体说明你所做的事情,你面临的问题是什么,而不是模糊。 – legends2k

+0

为什么你不描述你的问题,而不是你想到的解决方案... – StoryTeller

+0

signal()可能工作,但不会阻止它关闭。这取决于通过关闭控制台获得什么信号。 – CashCow

回答

5

当您在Windows上并在正常控制台窗口内运行控制台应用程序,然后单击关闭按钮([X])时,将生成CTRL_CLOSE_EVENT

您可以通过安装带有SetConsoleCtrlHandler Win32 API函数的控制台事件处理程序来处理这些事件。