windows C/C++ 在一个程序中打开,关闭和监视其它的exe程序

本文要实现的功能就是在windows下,实现用一个程序来打开,关闭和监视其它的exe程序,我这里的的exe程序是我自己实现的。

1.监视exe是否崩溃

首先如果一个进程不在了,它的进程ID就是0, 那么通过检测进程ID是否为0,就可以知道进程是否还在运行。

假设程序崩溃了,它的进程ID会变成0,那么通过检测进程ID是否为0,就可以知道程序是否崩溃。

但是在windows下,情况并不是假设的那样,程序崩溃了,它就弹出一个错误对话框,如下图所示,并且如果不关掉掉这个框,程序就永远死在这个窗口上,不会退出,进程ID也不会变成0,那么就不能通过检测进程ID来判断程序是否崩溃。所以现在必须让程序崩溃后直接退出而不是死在错误窗口上。
 

 

解决办法就是SetUnhandledExceptionFilter函数,使用这个函数就可以让程序崩溃后直接退出,而不是死在错误窗口上。这个函数的返回值有三种情况:

EXCEPTION_EXECUTE_HANDLER     表示下面执行__except块内及其后面的代码

EXCEPTION_CONTINUE_SEARCH     表示回到抛出异常处继续向下执行

EXCEPTION_CONTINUE_E

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值