Ключ ProgID

Программный идентификатор (ProgID) — это запись реестра, которая может быть связана с CLSID. Как и CLSID, ProgID определяет класс, но с меньшей точностью, так как он не гарантируется глобально уникальным.

Параметр реестра

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\{ProgID}

Раздел реестра Description
CLSID Связывает ProgID с CLSID.
Вставка Указывает, что этот класс вставляется в контейнеры OLE 2.
Протокол Указывает, что этот класс OLE 2 можно вставить в контейнеры OLE 1.
Оболочка Предоставляет печать оболочки Windows 3.1 и сведения о открытии файлов.

 

Замечания

Вы можете использовать ProgID в ситуациях программирования, когда нельзя использовать CLSID. Идентификаторы progID не должны отображаться в пользовательском интерфейсе. Идентификаторы progID не гарантированы уникальными, поэтому их можно использовать только в том случае, когда столкновения имен управляются.

Формат ProgID — <Program.<>Компонент>.<Версия>, разделенная точками и без пробелов, как в 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