Поделиться через


Программные идентификаторы

Оболочка использует подключ реестра программного идентификатора (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, так как они будут привести к неэффективности.

Как зарегистрировать тип файла для нового приложения

регистрации приложений

типов файлов

как работают сопоставления файлов

представление содержимого по типу файла или типу

проверяющего типа файла

обработчики типов файлов

предполагаемые типы

массивов ассоциаций