关闭进程的问题。 (200分)

  • 主题发起人 主题发起人 gxlzx
  • 开始时间 开始时间
god,我写的东西提交不上去<br>大致是这样的:<br>&nbsp; &nbsp;“拨号网络出现"连接到"窗口时,按Ctrl+Alt+Del到关闭程序窗口,选择Rnaapp点击"结束任务”后,<br>拨号程序退出。再重新打开拨号程序一切正常。”这种关闭是正常关闭,其实是系统向rnaapp窗口发送wm_close消息<br>相当于我们按关闭按钮退出。<br>&nbsp; &nbsp;“程序出现“连接到”窗口后,用TerminateProcess结束Rnaapp进程成功,但是拨号程序没有退出,<br>只能单击“取消”按钮退出拨号程序,当我重新启动拨号程序时就出错了再也进不去拨号了,只能重启系统。”<br>这种情况是强制kill process,估计系统有什么资源没有释放,我有一段时间因为isdn卡的原因<br>拨号老是出错,强制杀掉后,系统有时会蓝屏,而且是在window2000下,说明这个是比较底层的问题<br><br>比较好的解决方法,是向rnaapp发送wm_close消息,使它退出。<br>&nbsp;<br>
 
可以用PostMessage(rnaappHandle, WM_CLOSE, 0, 0)试试吧。<br>而不要用TerminateProcess。
 
关注,我在用PostMessage(rnaappHandle, WM_CLOSE, 0, 0)和<br>TerminateProcess时来杀掉瑞星的实时监控和自己做的一个不在任务栏中<br>显示的程序都不能关闭,不知为什么,而关闭其它程序却可以<br>
 
我也不能杀掉瑞星的进程,为什么?我开发的三层结构程序常与瑞星有关,必须要杀掉<br>瑞星,不然。程序运行不正常。
 
呵呵,有意思,可以模仿一下!
 
使用ExitProcess()是可以的,不过你必须写一个dll把你的代码写入目标进程的进程空间才行。<br>你可以参考以前的贴子,关于api hook的讨论。<br>瑞星它不是一个单独的进程,他还有一个Timer,发现瑞星杯非法结束,就会启动一个新的瑞星,<br>就决方法很简单,首先枚举他们的线程,然后挂起他们的线程,然后连续结束他们,就可以了
 
后退
顶部