天下

记录修行的印记

捕获控制台等异常

#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 天下 阅读(216) 评论(0)  编辑 收藏 引用 所属分类: Win32


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2012年2月>
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910

导航

统计

常用链接

留言簿(4)

随笔分类(377)

随笔档案(327)

链接

最新随笔

搜索

最新评论