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)
如果你不关心控制台是如何关闭的,而想在关闭时做一定的处理,则可以通过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)
相关文章推荐
- win32 c++控制台应用程序捕获ctrl+c程序关闭事件
- 截获控制台程序关闭事件(SetConsoleCtrlHandler)
- vs2010 C++控制台程序编译以后快速自动关闭
- C#注册控件处理程序(SetConsoleCtrlHandler)函数示例 控制台关闭事件改写
- 如何捕捉控制台程序的关闭事件
- 如何捕捉控制台程序的关闭事件。
- 如何捕捉控制台程序的关闭事件(转)
- 蛋疼的让C#控制台程序(Console)像窗体(Winform)一样(关闭,托盘图标,事件响应,手动退出等)
- C#控制台程序中处理2个关闭事件的代码实例
- C#控制台程序中处理2个关闭事件的代码实例
- 蛋疼的让C#控制台程序(Console)像窗体(Winform)一样(关闭,托盘图标,事件响应,手动退出等)
- C++捕捉关闭控制台应用程序事件
- C++ Win32控制台应用程序捕捉关闭事件
- 如何捕捉控制台程序的关闭事件
- 捕获控制台程序关闭事件(SetConsoleCtrlHandler
- C# 定时器事件。(设置时间间隔,间歇性执行某一函数,控制台程序)
- 图书管理程序-完美控制台c++(cpp)
- 关闭WIN2003的事件跟踪程序
- C++ 控制台程序运行屏蔽console窗口
- QT在ubuntu下无法调试控制台C/C++程序