zoukankan      html  css  js  c++  java
  • C++ Win32控制台应用程序捕捉关闭事件

     

     
    #include
    #include
    bool ctrlhandler( DWORD fdwctrltype )
    {
        switch( fdwctrltype )
        {
        // handle the ctrl-c signal.
        case CTRL_C_EVENT:
            printf( "ctrl-c event " );
            return( true );
        // ctrl-close: confirm that the user wants to exit.
        case CTRL_CLOSE_EVENT:
            printf( "ctrl-close event " );
            return( true );
        // pass other signals to the next handler.
        case CTRL_BREAK_EVENT:
            printf( "ctrl-break event " );
            return false;
        case CTRL_LOGOFF_EVENT:
            printf( "ctrl-logoff event " );
            return false;
        case CTRL_SHUTDOWN_EVENT:
            printf( "ctrl-shutdown event " );
            return false;
        default:
            return false;
        }
    }
    void main( void )
    {
        if( SetConsoleCtrlHandler( (PHANDLER_ROUTINE) ctrlhandler, true ) )
        {
            printf( " the control handler is installed. " );
            printf( " -- now try pressing ctrl+c or ctrl+break, or" );
            printf( " try logging off or closing the console... " );
            printf( " (...waiting in a loop for events...) " );
           while( 1 ){ Sleep(100);}
        }
    else
        printf( " error: could not set control handler");
    }
  • 相关阅读:
    面试题汇总
    桥接模式
    2010412 面试题
    2010412 面试题1
    访问者模式
    原码、反码、补码什么意思?有什么用?
    装饰模式
    mysql 忘记root密码 进行重置
    运维开源工具一览
    编写一个函数计算小费,小费为总账单的20%
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/4502583.html
Copyright © 2011-2022 走看看