C++控制台程序的关闭事件

      C++控制台程序虽然没有关闭的事件处理,但是其也有相应的关闭事件回调函数的注册机制

      如果你不关心控制台是如何关闭的,而想在关闭时做一定的处理,则可以通过atexit函数,此函数接收一个不带参数,无返回值的回调函数指针,在控制台程序关闭的时候,则会调用此注册的回调函数(具体用法可参看http://baike.baidu.com/view/653930.htm)

     如果你关心控制台的关闭细节,则可以通过SetConsoleCtrlHandler函数,它接收PHANDLER_ROUTINE类型函数指针(返回值为BOOL,参数为DWORD CtrlType),其另一个参数BOOL bAdd 表示是注册函数回调还是删除.当控制台被关闭的时候,注册的函数将会被调用,CtrlType包括CTRL_C_EVENT,CTRL_BREAK_EVENT,CTRL_CLOSE_EVENT,CTRL_LOGOFF_EVENT,CTRL_SHUTDOWN_EVENT几个事件类型(具体用法可参看http://baike.baidu.com/view/2798345.htm)

你可能感兴趣的:(C++)