为什么需要注册dll ocx等文件

chunyurancs 2012-11-28 07:47:59
以前写程序,自己写个dll,exe调用的时候,没有注册dll也可以啊。
为什么dll需要注册下,这个在后台实质上进行了一个什么操作吗?
...全文
547 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
华美乐章 2012-12-13
  • 打赏
  • 举报
回复
引用 5 楼 xiaoxiaoyuyun 的回复:
普通dll不用注册,直接调用里面函数就行,但是ATL和COM控件必须要注册,因为在调用时会直接从注册表中找这些信息,后缀名是dll的文件可能是ActiveX控件,也可能是普通的动态库。
可以注册的Dll文件接口可以使用DEPENDS.EXE,微软自己的工具查看 里面有DllRegisterServer/DllUnRegisterServer函数
youngwolf 2012-12-13
  • 打赏
  • 举报
回复
COM相关的才需要注册(包括AcitveX),它可以以exe dll ocx等格式存在,所以此dll非彼dll。
九州剑王 2012-12-11
  • 打赏
  • 举报
回复
引用 2 楼 chunyurancs 的回复:
那普通的dll呢 在我的经验中是不需要注册就可以使用的。
普通的放系统目录或者程序同级目录都可以自动找到的。。。
潇潇雨云 2012-12-11
  • 打赏
  • 举报
回复
普通dll不用注册,直接调用里面函数就行,但是ATL和COM控件必须要注册,因为在调用时会直接从注册表中找这些信息,后缀名是dll的文件可能是ActiveX控件,也可能是普通的动态库。
w_xei 2012-12-11
  • 打赏
  • 举报
回复
如果是ActiveX控件,不管是DLL、OCX都需要注册才能使用,因为它是通过OS的机制调用的,如果全部是VC的代码,建议不要使用ActiveX,这样的调用会损失性能
lijianli9 2012-12-11
  • 打赏
  • 举报
回复
普通的不需要的。
chunyurancs 2012-11-29
  • 打赏
  • 举报
回复
那普通的dll呢 在我的经验中是不需要注册就可以使用的。
傻X 2012-11-28
  • 打赏
  • 举报
回复
因为不注册没办法使用呀,呵呵 其实注册的主要过程是网注册表中写内容,如果你去查询注册表后,你会发现注册表中保存了你OCX很多信息,ocx路径,控件GUID号等等。 ATL和COM控件,每次使用(调用控件方法)都会去注册表查询相关内容,这个就是过程。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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