hoosyman
驱动小牛
驱动小牛
  • 注册日期2002-10-31
  • 最后登录2006-07-14
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1312回复:6

如何卸载VXD?送50分!

楼主#
更多 发布于:2004-01-03 11:08
问题是这样的:当应用程序被非法中止时,vxd就没有机会被卸载,等到我再次启动应用程序时,用CreateFile()打开VXD结果返回错误,请问有没有办法在这个时候卸载掉VXD,然后再重新加载VXD?
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2004-01-03 11:23
你应该想的是如何防止你的应用被异常终止,而不是这个
比如你因该在你的应用里加上SEH机制,在发生异常的时候自己卸载VXD,而不是靠别的什么程序,当然,最好避免程序的异常终止,说明你的程序有不完善的地方。。。。。。
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
hoosyman
驱动小牛
驱动小牛
  • 注册日期2002-10-31
  • 最后登录2006-07-14
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-01-03 11:41
没错,老大说得非常对!确实是应该先避免程序异常,但是如果避免不了的话,有没有办法实现呢?还有一种情况就是如果用户按了Alt+ctl+delet来中止应用程序时,SEH是不是也可以发挥作用?还有就是我对SEH一点都不了解,能否提供一些信息该如何做?谢谢?
hoosyman
驱动小牛
驱动小牛
  • 注册日期2002-10-31
  • 最后登录2006-07-14
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-01-03 11:43
发表帖子的时候忘了改为50分了,不好意思!我再开个帖子给分吧!
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
地下室#
发布于:2004-01-03 20:04
SEH机制可以参考HUME的SEH教程网上很多的
还有如果你想防止Alt+ctl+delet,可以参考WIN9X下的
RegisterServiceProcess来注册为系统服务,防止被意外关掉。。。。。
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
RED_spring
驱动中牛
驱动中牛
  • 注册日期2002-07-28
  • 最后登录2016-11-06
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望19点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2004-01-03 22:50
如果你在AP里打开了driver的句柄,这时候按Alt+ctl+delet应该是杀不死你的AP的吧?
hoosyman
驱动小牛
驱动小牛
  • 注册日期2002-10-31
  • 最后登录2006-07-14
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-01-04 11:20
楼上,用户按了alt+ctl+del让然可以终止APP的,只是driver却仍然在内存中,所以才导致我上面说得问题,在下一次程序启动时无法再次加载driver了!另外非常感谢wowocock的提示!
游客

返回顶部