与版本无关的 ProgID 键

关联 ProgID 与 CLSID。 此键用于确定对象应用程序的最新版本。

注册表项

HKEY_LOCAL_MACHINE\SOFTWARE\Classes
   <version-independent ProgID>
      CurVer = ProgID

注解

HKEY_LOCAL_MACHINE\SOFTWARE\Classes 密钥对应HKEY_CLASSES_ROOT 密钥,该密钥保留用于与早期版本的 COM 兼容。

<与版本无关的 ProgID> 的格式是 <program>.<component>,以句号分隔,不含空格,不含版本号。 与 ProgID 一样,与版本无关的 ProgID 可以用人类可读的名称来注册。

ProgID 是类的最新版本 ProgID。

应用程序必须在与版本无关的 ProgID 键下注册与版本无关的编程标识符。 与版本无关的 ProgID 指的是应用程序的类,不会因版本不同而改变,而是在所有版本中都保持不变,例如 Microsoft Word 文档。 它与宏语言一起使用,并会引用当前安装的应用程序类版本。 与版本无关的 ProgID 必须与对象应用程序最新版本的名称相对应。

例如,当容器应用程序使用工具栏按钮创建图表或表时,就会使用与版本无关的 ProgID。 在这种情况下,应用程序可以使用与版本无关的 ProgID 来确定所需对象应用程序的最新版本。

与版本无关的 ProgID 仅由应用程序代码存储和维护。 当给定与版本无关的 ProgID 时,CLSIDFromProgID 函数将返回当前版本的 CLSID。

可以使用 CLSIDFromProgIDProgIDFromCLSID 在这两种表示法之间进行转换。

可以使用 IOleObject::GetUserTypeOleRegGetUserType 将标识符更改为可显示的字符串。

如果未使用自定义处理程序,则应将条目设置为 OLE32.DLL,如以下示例所示:

HKEY_CLASSES_ROOT\CLSID\{00000402-0000-0000-C000-000000000046}
   InprocHandler = ole32.dll

CLSIDFromProgID

ProgIDFromCLSID

<ProgID> 键