我写了一个COM组件,然后注册了。然后关机,再开机。请问这时机器内存中有没有我自己写的COM组件的信息。也就是说因为我注册了自己的组件,这时机器内存中的内容和我昨天开机时内存中的内容有没有不同的地方?

解决方案 »

  1.   

    开机内存中没有com组件,只有当你第一次调用的时候,系统会把com组件加载起来
      

  2.   

    对于COM对象,如要使之能够成功地被COM库定位,则需要至少在注册表中写入.
    COM组件不能天生就具备将注册信息写入到注册表中的功能,对进程内服务器而言,还必须实现两个名为DllRegisterServer和DllUnregisterServer的输出函数,来负责注册信息的写入和卸载。HRESULT DllRegisterServer(void){// 主要实现方法:// 调用Windows API函数得到模块当前所在的物理位置,// 调用Windows API操作注册表的函数创建图5-4、5-5中所示的注册项目…(代码略)}HRESULT DllUnregisterServer(void){// 主要实现方法// 调用Windows API操作注册表的函数,在注册表中删除写入的信息。(代码略)}
      

  3.   

    对于COM对象,如要使之能够成功地被COM库定位,则需要至少在注册表中写入.
    COM组件不能天生就具备将注册信息写入到注册表中的功能,对进程内服务器而言,还必须实现两个名为DllRegisterServer和DllUnregisterServer的输出函数,来负责注册信息的写入和卸载。HRESULT DllRegisterServer(void){// 主要实现方法:// 调用Windows API函数得到模块当前所在的物理位置,// 调用Windows API操作注册表的函数创建注册项目…(代码略)}HRESULT DllUnregisterServer(void){// 主要实现方法// 调用Windows API操作注册表的函数,在注册表中删除写入的信息。(代码略)}
      

  4.   

    关机后内存内容是被清空的这点肯定都知道至于开机后你的com会不会在内存中要看它有没有被调用过。同样的道理没办法保证内存中的内容和上次一模一样。因为程序的运行和调用的dll肯定是有一定差别的
      

  5.   

    COM是根据注册在注册表里的信息调用的!没调用内存里怎么会有它的信息呢?