win32异常处理函数
Win32程序在出現(xiàn)未處理異常時,會調(diào)用這個函數(shù),我們就在這里處理程序掛掉后的所有事,包括重啟。
原型:LONG WINAPI FreeEIM_UnhandledExceptionFilter(LPEXCEPTION_POINTERS ExceptionInfo);
我們這里先簡單試驗一下。
LONG WINAPI FreeEIM_UnhandledExceptionFilter(LPEXCEPTION_POINTERS ExceptionInfo)
{
MessageBox(NULL,"FreeEIM","FreeEIM",MB_OK);
return EXCEPTION_EXECUTE_HANDLER;
}
然后在程序初始化代碼里加入:
SetUnhandledExceptionFilter(FreeEIM_UnhandledExceptionFilter);
這里我們用到一個函數(shù)WinExec 來實現(xiàn)程序異常重啟
LONG WINAPI FreeEIM_UnhandledExceptionFilter(LPEXCEPTION_POINTERS ExceptionInfo)
{
char szFileName[_MAX_PATH];
::GetModuleFileName(NULL, szFileName, _MAX_PATH);
if ( MessageBox(NULL,"程序 FreeEIM.exe 遇到問題異常退出,是否重啟?","FreeEIM",MB_YESNO)
== IDYES )
WinExec(szFileName, SW_SHOW);
return EXCEPTION_EXECUTE_HANDLER;
}
然后在初始化代碼里加入:
SetUnhandledExceptionFilter(FreeEIM_UnhandledExceptionFilter);
總結(jié)
以上是生活随笔為你收集整理的win32异常处理函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转载】失业的程序员(九):创业就是一场
- 下一篇: 今天的一切准备就绪的局域网聊天