防止程序崩溃时错误提示对话框弹出

先介绍一下

EXCEPTION_EXECUTE_HANDLER(1)        表示下面执行__except 块内及其后面的代码
EXCEPTION_CONTINUE_EXECUTION(-1) 表示回到抛出异常处继续向下执行
EXCEPTION_CONTINUE_SEARCH(0)        表示查找下一个异常处理例程入口

//
/** 函数名: HandleDefaultExceptionInfo         /
/** 参  数:                /
/
 返回值:无               /
/** 说  明: 捕捉崩溃,并抛出异常          /
/
******/
LONG WINAPI HandleDefaultExceptionInfo(PEXCEPTION_POINTERS pExceptPtrs)
{
 return EXCEPTION_EXECUTE_HANDLER;
}

SetUnhandledExceptionFilter (HandleDefaultExceptionInfo);// 截断未处理异常防止错误对话框弹出

1:SetErrorMode(SEM_NOGPFAULTERRORBOX);

强制进程终止运行

为防止 UnhandledExceptionFilter 显示异常消息框,可以调用下面的 S e t E r r o r M o d e l 函数,并向它传递一个 SEM_NOGPFAULTERRORBOX 标识符:

UINT SetErrorMode(UINT fuErrorMode);

然后,当调用 UnhandledExceptionFilter 函数来处理异常时,看到已经设置了这个标志,就会立即返回 EXCEPTION_EXECUTE_HANDLER。这将导致全局展开并执行 BaseProcessStart 或 BaseThreadStart 中的处理程序。该处理程序结束进程。

(详见《windows 核心编程》第 25 章)

 2:多使用 SEH(结构化异常处理)

__try

         {

              ;

          }

__except(EXCEPTION_EXECUTE_HANDLER)

         {

            ;

         }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值