一个ocx的注册表结构

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PROGID

ProgID程序员给CLSID指定的容易记住的名字

ProgID命名约定:..

AppID:将某个APPID(应用程序ID)映射成某个远程服务器名称。分式COM(DCOM)将用到此关键字

组件类别:将CATID(组件类别ID)映射成某个特定的组件类别

Interface:将IID映射成某个接口相关的信息,这些信息主要用于跨进程边界使用接口的情况

Licenses:保存的是授权使用COM组件的一些认可信息

TypeLib:类型库关键字保存的是关于接口成员函数所用参数的信息和其他一些信息,可以将一根LIBID映射成存储类型库的

文件名称

ProgID及与版本无关的ProgID被列在CLSID下面

ProgID的主要作用是获取相应的CLSID

与版本号无关的ProgID也直接被列在HKEY_CLASSES_ROOT下面,他们另外一个关键字CurVer,其缺省值为组件当前版本的

ProgID

ProgID和CLSID的转换:CLSIDFromProgID,ProgIDFromCLSID

组件的自注册:STDAPI DllRegisterServer(); STDAPI DllUnRegisterServer

1.在HKEY_CLASSES_ROOT下查找ProgID,格式..

2.在ProgID下,查看CLSID子项的值

3.在HKEY_CLASSES_ROOT\CLSID下查找CLSID的值,里面将包含InprocServer32,ProgID,类型库,和版本的几个子项

4.在HKEY_CLASSES_ROOT\TypeLib下,查找ClassID TypeLibID,将找到包含有关您的组件的类型库的信息

5.在HKEY_CLASSES_ROOT\Interface下,查找该ClassID TypeLibID,查找到所有接口ID

COM库在接到客户程序的请求后,会到注册表中检索COM对象的注册表条目,以此来定位COM对象COM对象要想成功的被COM库定位,则需要至少在注册表中写入HKEY_CLASSES_ROOT\ProgID注册和HKEY_CLASSES_ROOT\CLSID

注册

InProcServer32的字符串值,代表此COM类的载体应当是个动态链接库,指明了组件所在的物理位置,对COM库查找和定位

组件起了决定性作用

LocalServer32:指定一个32字节的本地应用程序的路径

Word.Application->CLSID

可执行程序的路径:LocalServer,LocalServer32

查找ProgID方法,在注册表的键值中查找可执行程序的名字

相关文档
最新文档