请教高手:如何杀死出错的子进程?

bhw98 2003-09-23 03:09:54
想做一个进程监视器:进程A通过CreateProcess运行进程B,进程B出错,弹出对话框"该程序执行了非法操作,将被关闭,...",能否从进程A干净利索地杀死进程B? 有人碰到这种问题吗?

...全文
32 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
bhw98 2003-09-26
  • 打赏
  • 举报
回复
谢谢各位回答!
tinydrop(龍)的招数很管用,其实我要的就是这个效果。
SetErrorMode(SEM_NOGPFAULTERRORBOX);
在程序发生致命性错误后不弹出框,直接退出。
brightboy 2003-09-26
  • 打赏
  • 举报
回复
同意
tinydrop 2003-09-25
  • 打赏
  • 举报
回复
我想"TerminateProcess没有作用啊,没有弹出框框的可以杀掉,一报错就不行了"?应该是描述的这样一个事实:调用TerminateProcess成功以后被杀的目标进程确实是被杀掉了,但是
弹出来的对话框仍然存在,对吗?
我猜你的意图是想在B进程出错时不弹出那个该死的对话框是吧(这个问题,我很早就遇到了)?其实你可以使用SetErrorMode来解决这个问题。看看msdn文档相信你很快能搞定。
rtdb 2003-09-25
  • 打赏
  • 举报
回复
我想可以这样:

在主进程中定期查找对话框"该程序执行了非法操作,将被关闭,...",
发现了它, 就关闭它好了。

farfh 2003-09-25
  • 打赏
  • 举报
回复
首先得在B中保证不出错,否则,没办法,框框都弹出来了,已经太迟了。做错事已经被别人看到了,就别想再把它抹掉,感觉就这样。
bhw98 2003-09-25
  • 打赏
  • 举报
回复
难道就没有能解决的?到底给不给分啊?
bhw98 2003-09-23
  • 打赏
  • 举报
回复
TerminateProcess没有作用啊,没有弹出框框的可以杀掉,一报错就不行了
wuxfBrave 2003-09-23
  • 打赏
  • 举报
回复
TerminateProcess试试,如果从任务管理器中能杀死
bhw98 2003-09-23
  • 打赏
  • 举报
回复
不是的,这时用任务管理器看,它还在,仍占用资源
qwedcxza 2003-09-23
  • 打赏
  • 举报
回复
进程 B 在弹框时已被杀死了

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧