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


Модель сопоставлений типов файлов и URI

Платформ

клиенты — Windows 8
серверы — Windows Server 2012

Описание

Тип файла и модель сопоставления URI изменились в Windows 8. Приложения больше не могут программно задавать себя как обработчик по умолчанию для типа файла или URI. Вместо этого пользователь всегда управляет тем, что обработчик по умолчанию предназначен для типа файла или схемы URI.

Проявление

Как это изменение представляет пользователю, зависит от того, как разработано приложение, например:

  • Многие приложения проверяют, являются ли они по умолчанию каждый раз, когда они выполняются, и, если они нет, пользователю будет предложено задать их в качестве значения по умолчанию. Тем не менее, поскольку приложения больше не могут точно запрашивать, чтобы определить, какое приложение является обработчиком по умолчанию для типа файла или схемы URI, ни в каких из этих операций не работает.
  • Во многих приложениях есть диалоговое окно или меню, встроенное или в установщике, указывающее типы файлов, для которых приложение должно служить по умолчанию. Однако, поскольку приложения больше не могут программно задавать себя как обработчик по умолчанию для типа файла или схемы URI, это больше не работает.

Смягчение

Существует несколько действий, которые пользователи могут сделать для удовлетворения этих изменений:

  • Пользователям предлагается контекстно выбрать приложение по умолчанию для обработки типов файлов, схем URI или обоих, если он не указан.
  • Пользователи предлагают возможность изменить обработчик по умолчанию после установки новых приложений, которые могут обрабатывать тип файла или схему URI
  • Панель управления программами по умолчанию позволяет пользователям задавать значения по умолчанию для приложения или для типа файла, схемы URI или обоих; приложения могут ссылаться на панель управления
  • Значения по умолчанию можно изменить из проводника Windows

Решение

В результате этих изменений в этом руководстве по API предоставляется следующее:

  • Функциональность некоторых вызовов методов в API IApplicationAssociationRegistration изменилась и больше не должна использоваться.

    • не вызов QueryAppIsDefault/QueryAppIsDefaultAll, чтобы определить, является ли приложение по умолчанию
    • Не вызывать QueryCurrentDefault, чтобы определить, какое приложение (если таковое) является текущим по умолчанию
    • не вызывать SetAppIsDefault/SetAppIsDefaultAll, чтобы задать приложение по умолчанию
  • Ниже приведены рекомендации.

    • не запрос, чтобы увидеть, какое приложение является обработчиком по умолчанию для типов файлов или схем URI

    • не пытаться отслеживать изменения в обработчике по умолчанию для типов файлов или схем URI

    • не пытаться задать приложение в качестве обработчика по умолчанию для типов файлов или схем URI

    • не пытаться управлять значениями по умолчанию для типов файлов или схем URI из приложения

    • интегрировать Do с панелью управления Set Default Programs, если вы хотите разрешить пользователям приложения получать доступ к пользовательскому интерфейсу управления по умолчанию (пользовательский интерфейс управления в приложении больше не поддерживается).

Тесты

  • Проверка правильности регистрации приложений на панели управления "Установка программ по умолчанию"
  • Проверьте правильность регистрации приложений в списке OpenWith для типов файлов, схем URI или обоих типов, которые они регистрируют для обработки
  • Проверьте, отображается ли новое уведомление приложения после установки приложения, и пользователь вызывает тип файла, схему URI или оба приложения, зарегистрированные для обработки.

Ресурсы