以前写程序,自己写个dll,exe调用的时候,没有注册dll也可以啊。
为什么dll需要注册下,这个在后台实质上进行了一个什么操作吗?

解决方案 »

  1.   

    因为不注册没办法使用呀,呵呵其实注册的主要过程是网注册表中写内容,如果你去查询注册表后,你会发现注册表中保存了你OCX很多信息,ocx路径,控件GUID号等等。ATL和COM控件,每次使用(调用控件方法)都会去注册表查询相关内容,这个就是过程。
      

  2.   

    那普通的dll呢 在我的经验中是不需要注册就可以使用的。
      

  3.   

    如果是ActiveX控件,不管是DLL、OCX都需要注册才能使用,因为它是通过OS的机制调用的,如果全部是VC的代码,建议不要使用ActiveX,这样的调用会损失性能
      

  4.   

    普通dll不用注册,直接调用里面函数就行,但是ATL和COM控件必须要注册,因为在调用时会直接从注册表中找这些信息,后缀名是dll的文件可能是ActiveX控件,也可能是普通的动态库。
      

  5.   


    可以注册的Dll文件接口可以使用DEPENDS.EXE,微软自己的工具查看 里面有DllRegisterServer/DllUnRegisterServer函数
      

  6.   

    COM相关的才需要注册(包括AcitveX),它可以以exe dll ocx等格式存在,所以此dll非彼dll。