ProgID程序员给CLSID指定的容易记住的名字
ProgID命名约定:<Program>.<Component>.<Version>
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,格式<Program>.<Component>.<Version>
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方法,在注册表的键值中查找可执行程序的名字

progID的更多相关文章

  1. filter : progid:DXImageTransform.Microsoft.AlphaImageLoader ( enabled=bEnabled , sizingMethod=sSize , src=sURL )

    很多时候需要将图片显示在网页上,一般都会这样做,如下: <img src="xxx.jpg"/> 是的,这样是可以做到,但是如果我要将本地的图片显示到页面上呢?你可能会 ...

  2. The ProgID of the WorkspaceName's workspace factory

    The ProgID of the WorkspaceName's workspace factory [C#]public stringWorkspaceFactoryProgID {get; se ...

  3. iisapp 命令 弹出 iisschlp.wsc [88,25] 属性值无效 progid

    iisapp 命令 弹出 iisschlp.wsc [88,25] 属性值无效 progid 在执行iisapp.vbs时,可能会提示如下错误:Windows Script Component - f ...

  4. 在ie中用滤镜 (filter:progid:DXImageTransform.Microsoft.gradient)会触发overflow:hidden?

    1.在ie中用滤镜 (filter:progid:DXImageTransform.Microsoft.gradient)会触发overflow:hidden 在项目中做一个背景层透明内容(菜单)不透 ...

  5. 关于ie6中使用css滤镜[_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/*.png',sizingMethod='scale')]后链接无法点击的问题

    RT,我做的一个效果是试用png图做背景,通过_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/*.png' ...

  6. 纠错《COM技术内幕》之ProgID

    近期在看<COM技术内幕>,看到第六章时发现该章节在解释ProgID时有点错误,特此记录一下,也给正在学习COM的小伙伴们一个提示. 并且我发现该问题存在于一些非常多大型软件的COM组件中 ...

  7. FILTER:progid:DXImageTransform.Microsoft.Gradient使用

    FILTER:progid:DXImageTransform.Microsoft.Gradient使用 语法: filter:progid:DXImageTransform.Microsoft.Gra ...

  8. C# 获取COM对象 ProgId ClsId

    https://social.msdn.microsoft.com/Forums/vstudio/en-US/fe262fdd-a93f-427e-8771-2c64e7ac3064/getting- ...

  9. 无效类字符串:ProgID: Excel.Application

    网上发现的方案是改注册表,其实用不着那么麻烦,找2种excel文件:xlsx和xls,把默认打开方式都换成你机器上有的程序就行,比如WPS Office的WPS 表格

随机推荐

  1. SQL第三课-自动编号与初涉约束

    自动编号:auto_increment一张数据表中,要设定字段的唯一性,就会用到编号,确保编号的唯一性是避免重名和数据混乱的一种方式.主键,一张表只能并只有一个.在创建字段表时,指定 PRIMARY ...

  2. css3实战版的点击列表项产生水波纹动画——之jsoop面向对象封装版

    1.html: <!DOCTYPE html><html><head lang="en">    <meta charset=" ...

  3. win8系统换win7系统

    吐槽一下先,win8换win7好费事~第一次弄,不过总算弄好了,记录一下吧. 首先,最坑人的就是,win8没法像win7那样按F1或者别的,直接进入BIOS,也就没法设置U盘引导,据说是由于win8的 ...

  4. 验证浏览器是否安装已flash插件的js脚本

    function flashChecker() { var hasFlash = 0; //是否安装了flash var flashVersion = 0; //flash版本 if(document ...

  5. jQuery trigger one用法

    jQuery trigger one用法: <%@ page language="java" import="java.util.*" pageEncod ...

  6. jQuery replaceWith replaceAll end的用法

    jQuery replaceWith replaceAll end的用法 <%@ page language="java" import="java.util.*& ...

  7. doubango介绍

    1.doubango官网:http://www.doubango.org/ 2.doubango是一个开源的VOIP基础平台, 并能用于嵌入式和桌面系统的开源框架,该框架使用ANSCI-C编写,具有很 ...

  8. 《RDLC部署》RDLC部署到IIS缺少DLL程序集

    1.错误:从vs生成网站部署到服务器后打开RDLC报表却提示缺少DLL程序集. 一般是缺少如下文件 1. Microsoft.ReportViewer.Common.dll 2.   Microsof ...

  9. Paxos 实现日志复制同步(Multi-Paxos)

    Paxos 实现日志复制同步 这篇文章以一种易于理解的方式来解释 Multi-Paxos 的机制. Multi-Paxos 的是为了创建日志复制 一种实现方式是用一组基础 Paxos 实例,每条记录都 ...

  10. jdbcTemplate获取mysql的blob

    java使用jdbcTemplate操作mysql数据库,遇到blob字段,正常读取出来是blob的地址,而不是blob的内容. 下面采用2中方式读取blob的内容: 1.以二进制数组形式读取blob ...