Программные идентификаторы
Оболочка использует подключ реестра программного идентификатора (ProgID) для связывания типа файла с приложением и управления поведением ассоциации. Записи ProgID, используемые для сопоставлений файлов, находятся в HKEY_CLASSES_ROOT в реестре.
Этот раздел организован следующим образом:
- программные элементы идентификатора, используемые ассоциаций файлов
- использование программных идентификаторов с версиями
- связанные разделы
Дополнительные сведения см. в статье Как зарегистрировать тип файла для нового приложения
Элементы программного идентификатора, используемые сопоставлениями файлов
Правильный формат имени ключа ProgID — [поставщик или приложение]. [компонента ]. [версия], разделенная точками и без пробелов, как в Word.Document.6. Часть версии является необязательной, но настоятельно рекомендуется. Дополнительные сведения см. в разделе Использование программных идентификаторов с версиями.
Подраздел ProgID должен содержать следующие элементы. Обратите внимание, что для некоторых строковых данных этого ключа требуется определенное форматирование.
Элемент | Описание |
---|---|
(по умолчанию) | Задайте для элемента подключа ProgID по умолчанию понятное имя для этого ProgID, подходящего для отображения пользователю. Использование этой записи для хранения понятного имени устарело записью FriendlyTypeName в системах под управлением Windows 2000 или более поздней версии. Однако необходимо задать это значение для обратной совместимости. |
AllowSilentDefaultTakeOver (появилась в Windows 8) | Задайте эту необязательную запись, чтобы сигнализировать о том, что Windows должна игнорировать этот идентификатор ProgID при определении обработчика по умолчанию для общедоступного типа файлов. Независимо от того, задано ли это значение, идентификатор ProgID продолжает отображаться в контекстном меню OpenWith и диалоговом окне. Это значение REG_NONE. |
AppUserModelID (появилась в Windows 7) | Задайте эту необязательную запись явным идентификатором пользовательской модели приложения (AppUserModelID), если приложение использует явный AppUserModelID и использует автоматически созданный системой последние или часто списки переходов или предоставляет настраиваемый список переходов. Если приложение использует явный Идентификатор AppUserModelID и не устанавливает это значение, элементы не будут отображаться в списках переходов этого приложения. Это строка REG_SZ. Дополнительные сведения см. в идентификаторы пользовательских моделей приложений (AppUserModelID). |
EditFlags | Задайте эту необязательную запись с помощью флагов из перечисления FILETYPEATTRIBUTEFLAG S. Запись EditFlags управляет некоторыми аспектами обработки оболочки типов файлов, связанных с этим ProgID. Можно также использовать запись EditFlags, чтобы ограничить, сколько пользователь может изменить определенные аспекты этих типов файлов с помощью листа свойств файла. Значения FILETYPEATTRIBUTEFLAGS, используемые для EditFlags, представляют собой двоичные значения, предназначенные для объединения нескольких атрибутов в одно битовую операцию OR. Это значение REG_DWORD или REG_BINARY. |
FriendlyTypeName | Задайте для этой записи понятное имя progID, подходящее для отображения пользователю. Для согласованности эта строка должна содержать те же данные, что и запись По умолчанию для этого ключа ProgID. Эта запись может быть REG_SZ или строкой REG_EXPAND_SZ, но она должна быть отформатирована как непрямая строка (полное имя файла и значение ресурса, предшествующие символу @), например @%SystemRoot%\shell32.dll,-154. |
InfoTip | Задайте для этой записи краткое сообщение справки о том, что оболочка отображается для этого ProgID. Запись InfoTip отображается в диалоговом окне мыши. Это значение может быть REG_SZ или REG_EXPAND_SZ строкой, но, например FriendlyTypeName, она должна быть отформатирована как непрямая строка. |
CurVer | Задайте для записи (по умолчанию) этого подраздела самую текущую версию этого ProgID. Примечание. если у вас нет параллельных версий приложений, то есть несколько версий, установленных в одной системе, следует избегать использования CurVer. |
DefaultIcon. | Задайте для записи этого подраздела значок по умолчанию, который требуется отобразить для типов файлов, связанных с этим ProgID. Это значение может быть REG_SZ или строкой REG_EXPAND_SZ, но оно должно быть указано в качестве полного имени файла со значением ресурса участника, например %SystemRoot%\shell32.dll,-154. |
В следующем примере раздела реестра показан узел ключа ProgID сопоставления файлов:
HKEY_CLASSES_ROOT
Vendor.App.1
(Default) = My Friendly Name
AllowSilentDefaultTakeOver
AppUserModelID = Vendor.Application
EditFlags = 0x00000001
FriendlyTypeName = @%SystemRoot%\shell32.dll,-154
InfoTip = @%SystemRoot%\shell32.dll,-54
CurVer
(Default) = Vendor.App.1
DefaultIcon
(Default) = %SystemRoot%\shell32.dll,-1
Использование программных идентификаторов с версиями
Версия ProgID — это версия, версия которой указана в его имени. Обычно это делается путем добавления периода и номера версии в имя. Например:
- Word.Document.6
- Word.Document.8
Это версии ProgID с версиями 6 и 8 соответственно. Если у вас есть параллельное приложение, то есть одно, которое поддерживает несколько версий приложения, установленных одновременно, используйте CurVer и Версии Независимых progID. В противном случае следует избегать курвера и независимых идентификаторов progID, так как они будут привести к неэффективности.
Связанные разделы