ProgID 键

编程识别符 (ProgID) 是可以和 CLSID 关联的注册表项。 与 CLSID 一样,ProgID 标识类,但精度较低,因为它不能保证全局唯一。

注册表项

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\{ProgID}

注册表项 说明
CLSID 关联 ProgID 与 CLSID。
可插入 表示此类可插入 OLE 2 容器中。
协议 表示该 OLE 2 类可插入 OLE 1 容器中。
Shell 提供 Windows 3.1 shell 打印和“文件打开”信息。

 

备注

在编程情况下,如果无法使用 CLSID,则可以使用 ProgID。 ProgID 不应显示在用户界面中。 ProgID 不保证是唯一的,因此只能在可管理名称冲突的情况下使用。

ProgID 的格式为<程序>.<组件>.<版本>,用句点分隔,没有空格,例如 Word.Document.6。 ProgID 必须符合以下要求:

  • 最多 39 个字符。
  • 不包含标点符号(包括下划线和斜杠),句点除外。
  • 不以数字开头。
  • 与任何 OLE 1 应用程序的类名都不同,包括同一应用程序的 OLE 1 版本(如果有)。

由于 ProgID 不应显示在用户界面中,因此可以通过调用 IOleObject::GetUserType 来获取可显示的名称。 另请参阅 OleRegGetUserType

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

IOleObject::GetUserType

OleRegGetUserType