进程杀死问题

pauling 2001-10-13 05:00:15
有一个程序,可能会出错崩溃,现在暂时无法解决
想做一个监控程序,如果程序崩溃,就关闭该进程,然后重新启动
我的方法是:
HWND m_hWnd;
m_hWnd = ::FindWindow( NULL, m_Title );
DWORD dwprocessid;
GetWindowThreadProcessId( m_hWnd, &dwprocessid );
m_hProcess = OpenProcess( PROCESS_ALL_ACCESS, false, dwprocessid );
TerminateProcess( m_hProcess, 0 );
但是在程序崩溃的时候,会弹出系统的Messagebox提示出错。
这个时候会OpenProecess失败,
请问如何解决这个问题。
...全文
65 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hover 2001-10-13
  • 打赏
  • 举报
回复
O!
pursuer_zhao 2001-10-13
  • 打赏
  • 举报
回复
gz
csdnflysnow 2001-10-13
  • 打赏
  • 举报
回复
请将注册表中这个key下的东西删除掉.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug]

你的程序出现崩溃的话会被操作系统自动关闭.
不会有系统的提示信息. 你同时可以通过 同步机制将另外一个程序启动起来.
a813 2001-10-13
  • 打赏
  • 举报
回复
采用这种方法不是很好,应该尽可能解决崩溃问题,做好详细的日志,以便解决问题。
对于可能会出现错误的地方,使用异常捕获机制。

15,471

社区成员

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

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