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

    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");
    }
  • 相关阅读:
    poj 2104 C
    2015 百度之星初赛 1 2 2015ACM/ICPC亚洲区上海站 codeforces 851
    3.10补
    3.9补
    3.8补
    3.6补
    3.5补
    3.4补
    3.3补
    2.35补
  • 原文地址:https://www.cnblogs.com/aliblogs/p/6918758.html
Copyright © 2011-2022 走看看