天下

记录修行的印记

捕获控制台等异常

#define WIN32_LEAN_AND_MEAN   
#include 
<windows.h>
#include 
<tchar.h>
#include 
<iostream>
#include 
<signal.h>


BOOL WINAPI ConsoleHandler(DWORD dwCtrlType );
                           
                          

int main(int argc, char *argv[])
{
    
if (SetConsoleCtrlHandler( (PHANDLER_ROUTINE)ConsoleHandler,TRUE)==FALSE)
    {
        
// unable to install handler 
        
// display message to the user
        printf("Unable to install handler!\n");
        
return -1;
    }


    
while(true)
    {

    }
}

BOOL WINAPI ConsoleHandler(DWORD CEvent)
{
    
char mesg[128];

    
switch(CEvent)
    {
    
case CTRL_C_EVENT:
        MessageBox(NULL,
            _T(
"CTRL+C received!"),_T("CEvent"),MB_OK);
        
break;
    
//case CTRL_BREAK_EVENT:
    
//    MessageBox(NULL,
    
//        _T("CTRL+BREAK received!"),_T("CEvent"),MB_OK);
    
//    break;
    
//case CTRL_CLOSE_EVENT:
    
//    MessageBox(NULL,
    
//        _T("Program being closed!"),_T("CEvent"),MB_OK);
    
//    break;
    
//case CTRL_LOGOFF_EVENT:
    
//    MessageBox(NULL,
    
//        _T("User is logging off!"),_T("CEvent"),MB_OK);
    
//    break;
    
//case CTRL_SHUTDOWN_EVENT:
    
//    MessageBox(NULL,
    
//        _T("User is logging off!"),_T("CEvent"),MB_OK);
    
//    break;
    }
    
return TRUE;
}

posted on 2012-02-07 11:02 天下 阅读(312) 评论(0)  编辑 收藏 引用 所属分类: Win32


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2013年3月>
242526272812
3456789
10111213141516
17181920212223
24252627282930
31123456

导航

统计

常用链接

留言簿(4)

随笔分类(378)

随笔档案(329)

链接

最新随笔

搜索

最新评论