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");
    }
  • 相关阅读:
    Codeforces Round #226 (Div. 2)
    内存管理
    C/C++ 函数
    Codeforces Round #225 (Div. 2)
    常用链表操作总结
    Codeforces Round #224 (Div. 2)
    Codeforces Round #223 (Div. 2)
    Codeforces Round #222 (Div. 2)
    -树-专题
    Codeforces Round #221 (Div. 2)
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/4502583.html
Copyright © 2011-2022 走看看