您的位置:首页 > 编程语言 > C语言/C++

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

2012-03-19 16:29 691 查看
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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: