Ключ 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.