Win32程序在出现未处理异常时,会调用这个函数,我们就在这里处理程序挂掉后的所有事,包括重启。
原型: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);

这里我们用到一个函数WinExec 来实现程序异常重启

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);

win32异常处理函数相关推荐

  1. Win32汇编系统函数(5)

    title: Win32汇编系统函数(5) date: 2019-04-20 09:57:38 tags: 汇编语言 categories: 汇编语言 copyright: true --- 汇编语言 ...

  2. c#调用win32 API函数修改系统时间

    一般来说,系统时间的修改可以通过win32 API函数库中的SetLocalTime函数进行设置.对于C#语言来说,虽然win32 API大部分函数都已经封装在了.NET Framework类库中,但 ...

  3. win32 API函数大全

    [1]. API之网络函数  WNetAddConnection :创建同一个网络资源的永久性连接  WNetAddConnection2 :创建同一个网络资源的连接  WNetAddConnecti ...

  4. Win32 API 函数列表

    ID编号 函数名 函数说明 详细说明 Win16支持 Win9x支持 WinNT支持 1 AbortDoc 终止一项打印作业  Yes Yes Yes 2 AbortPath 终止或取消DC中的一切路 ...

  5. Win32 API 函数列表1(格式有点乱)

    西安邮电学院 徐兆元 ID编号 函数名 函数说明 详细说明 Win16支持 Win9x支持 WinNT支持 1 AbortDoc 终止一项打印作业  Yes Yes Yes 2 AbortPath 终 ...

  6. Win32 Api函数

    1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接  WNetAddConnection2 创建同一个网络资源的连接  WNetAddConnection3 创 ...

  7. 管理输入光标的 WIN32 API 函数

    下面的 API 函数是用来管理输入光标的 API 函数,下面是在使用C#时声明的这些函数: /**//// <summary> /// 参数说明: ///        hwnd   :  ...

  8. win32 断言函数和转换到COFF期间失败错误

    断言(assert)的用法 assert,是个宏:     其作用可描述为: if(假设成立) {      程序正常运行: } else {       报错&&终止程序!(避免由程 ...

  9. win32汇编系统函数简单小示例图解

    1 打开 计算器 窗口,最小化 计算器 窗口 从 Console Build All 菜单构建: 代码: .386 .model flat, stdcall option casemap :nonei ...

最新文章

  1. DOS call 中的%cd%,当前文件夹演示
  2. 深度学习(三)theano学习笔记(2)基础函数-未完待续
  3. windows定时计划备份MySql
  4. nginx常见错误之(CreateFile() “D:\LCJ\下载\nginx/conf/nginx.conf“ failed (3: The system cannot find the path
  5. 默认帐户生成器帐户来源
  6. Spring IOC学习心得之源码级分析ContextLoaderListener的作用(IOC容器初始化入口)
  7. AtCoder Regular Contest 071
  8. pair用法 lower_bound upper_bound
  9. 安卓下最强的3款pdf阅读器测评
  10. EasyUI管理后台模板(附源码)
  11. 计算机服务里打印功能停止,win7系统电脑打印机print spooler服务总是自动停止的解决方法...
  12. PDF文件限制密码如何解除
  13. AutoRunner 功能自动化测试项目实训之常见问题(十)
  14. 面试考点:逻辑思维面试题(软件测试)
  15. AndroidQ(十)Android Q功能和API
  16. 数据挖掘 顶级期刊_澳大利亚麦考瑞大学, 国际数据挖掘顶级期刊ACM TKDD副主编招收5名数据挖掘全奖PhD...
  17. 页高速缓存(page cache学习)
  18. 想进BAT等大厂,到底要怎么做?
  19. HDU 1814 Peaceful Commission(2-SAT)
  20. 怎样搭建自己的网站,如何利用花生壳建立个人简易静态网站?

热门文章

  1. C++_系列自学课程_第_9_课_C语言风格字符串_《C++ Primer 第四版》
  2. vs2013 编译 notepad++ 源代码 2014-7-23
  3. 提升销售人员的信息处理能力
  4. DBD::mysql::db do failed: Table cl_access was locked with a READ lock and can't be updated
  5. ORACLE新建表空间
  6. poj 1151(线段树求面积并)
  7. asp.net怎样解决高并发问题
  8. Android深度探索第四章感想
  9. C#学习笔记二(函数高级参数)
  10. VMware linux虚拟机在线识别新添加磁盘