CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  Windows SDK/API

怎样卸载外壳扩展的DLL?

楼主jellypillar(新型人类)2005-04-16 11:42:02 在 Delphi / Windows SDK/API 提问

我最近编写了一个外壳扩展的程序,一切运行正常。  
  可是,当我用regsvr32卸载后,却发现Dll不能被更改或删除。这说明Dll并没有完全被卸载,还在内存中。  
  请问,要完全卸载这样的Dll要怎么用程序实现呢?  
   
  请各位大虾帮一帮小弟,先谢谢了     :) 问题点数:100、回复次数:8Top

1 楼g961681(技术庸人(情商太低))回复于 2005-04-16 11:43:49 得分 10

学习Top

2 楼aiirii(ari-http://spaces.msn.com/members/aiirii/)回复于 2005-04-16 12:24:03 得分 10

>>请问,要完全卸载这样的Dll要怎么用程序实现呢?  
   
  有些,安装后就一直随系统一起运行,  
  你卸载后,还要重新启动电脑Top

3 楼Kingron(单身走我路……)回复于 2005-04-16 12:33:59 得分 10

regsvr32后,重新启动后就可删除。卸载已经OK了,但是因为已经被加载到内存,所以无法删除,注册表中已经删除了的。Top

4 楼jellypillar(新型人类)回复于 2005-04-16 13:18:46 得分 0

重新启动系统似乎太麻烦了。  
  我希望找到一种不重启,不注销,不杀Explorer就能解决的方案。请问有哪位知道吗?Top

5 楼nicotine(尼古丁)回复于 2005-04-17 14:59:43 得分 60

好像不能  
  如果你要删除这个dll可以用   MoveFileEx(pchar('c:\XXXXX.dll',   Nil,   MOVEFILE_REPLACE_EXISTING   Or   MOVEFILE_DELAY_UNTIL_REBOOT);这样下次重启就会删除。  
  或者通过在其它位置创建一个它的临时副本,并删除原位置的文件的方法,具体我不会(似乎9x不行),还有可以通过replace命令Top

6 楼caiso(十年磨一剑)回复于 2005-04-19 18:31:00 得分 10

顶一下Top

7 楼jellypillar(新型人类)回复于 2005-04-22 12:15:30 得分 0

请问还有谁有好方法吗?Top

8 楼jellypillar(新型人类)回复于 2005-04-22 13:32:33 得分 0

感谢nicotine(尼古丁),我已经解决了我的问题,解决方法如下:  
   
  第一步:用MoveFileEx(Source,   Dest,   MOVEFILE_REPLACE_EXISTING)将文件移到一个临时目录下。(原来正在使用的Dll是可以被移动的   :)   )  
   
  第二步:用MoveFileEx(Source,   nil,   MOVEFILE_DELAY_UNTIL_REBOOT)在下一次开机时删除临时目录下的Dll  
   
  第三步:拷贝新的Dll到指定位置。Top

相关问题

  • Windows外壳扩展之更改图标
  • 如何实现外壳扩展?
  • 扩展MFC DLL
  • C#下怎么卸载DLL呢?
  • 用Assembly装载的DLL,如何卸载?
  • 高分求详细的Windows Shell(外壳扩展)和IE扩展编程资料
  • 哪有windows外壳扩展编程的资料?
  • 关于Shell Extension(外壳扩展)中的一个简单问题
  • 有关windows外壳扩展context menu handlers问题??
  • DLL注入进程后如何卸载呢?

关键词

  • 卸载
  • dll
  • 解决
  • 删除
  • movefile
  • movefileex
  • 请问
  • 临时
  • 启动
  • 程序

得分解答快速导航

  • 帖主:jellypillar
  • g961681
  • aiirii
  • Kingron
  • nicotine
  • caiso

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo