一个关于COM编程的问题!?[急!在线ing]

fi9 2003-01-17 09:29:06
已经做了一个windows shell的COM控件,而且已经可以DLL里的DllReg来注册,和用DllUnreg来注销,可是要删除DLL时,系统说windows正在使用不能删除!为什么?!能不能做到不重启/注销系统就能够把DLL删除去?!
...全文
27 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
RomanticProgrammer 2003-01-17
  • 打赏
  • 举报
回复
to FOGLAB:
不知道.呵呵...阿普
fi9 2003-01-17
  • 打赏
  • 举报
回复
up
fi9 2003-01-17
  • 打赏
  • 举报
回复
?!那有没有办法?!简单的,复杂的都行,只要能实现就行!
那像WINRAR,WINZIP,还有毒霸等,它们的右击菜单就是一个windows shell COM控件,可是它们卸载时又是是怎么把它们的COM卸去呢?!
RomanticProgrammer 2003-01-17
  • 打赏
  • 举报
回复
我认为这个不好办.
重启Explorer不容易.
我记得我曾经做过ISPI过虑程序,那个也是dll,但是它加载的时候是加载在dllhost.exe这个程序的进程控件中,所以结束它有一种很冒险的办法就是把dllhost.exe关掉(如果有多个全部关掉),我没有做过windows shell的COM控件,如果它是直接加载在Explorer的进程控件,那就不好办.
fi9 2003-01-17
  • 打赏
  • 举报
回复
注销系统是可以的,我现在就是想在不注销系统和重启系统下来删除DLL!
痞子酷 2003-01-17
  • 打赏
  • 举报
回复
注销用户试试!!!
45867371 2003-01-17
  • 打赏
  • 举报
回复
up
fi9 2003-01-17
  • 打赏
  • 举报
回复
真的一点办法都没有了吗?!
那怎么让Explorer重启呢?!
Wingsun 2003-01-17
  • 打赏
  • 举报
回复
不行,一定要重新启动才可以,因为DLL已经调入Explorer的进程空间了。除非Explorer重新启动才可以。

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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