#google-chrome #windows-store-apps #protocol-handler
Вопрос:
Обработчики протоколов URI позволяют разработчикам связывать пользовательские протоколы со своими приложениями, так что при нажатии на ссылку, указывающую на наш пользовательский протокол, приложение будет запущено, а не открыто в браузере. Zoom и многие другие приложения используют эту функцию для запуска своих приложений при нажатии на веб-ссылки.
Мы используем этот метод, чтобы пользователи могли запускать Microsoft Word при нажатии на определенную ссылку. Наша запись в реестре выглядит следующим образом ( test
это название нашего пользовательского протокола):
HKCR test shell open command (default) =gt; winword /t%1
Он отлично работает и запускает установленную версию Microsoft Word при нажатии на ссылку, если установлена стандартная настольная версия Office (например, Office 2016, Office 2019 или Office 365), но, похоже, не работает с версией Office для магазина Microsoft.
Я думал, что вышеприведенный command
узел был просто командой оболочки, которая будет запущена Windows, но, похоже, это не так. ввод winword
в командной строке, диалоговое окно запуска Windows или даже пакетный файл запускает Word правильно, но использование его в обработчике протокола, похоже, ничего не дает. Интересно, что браузер показывает приглашение «Веб-сайт хочет запустить Word», но выбор «Да», похоже, ничего не делает. Я также пытался удалить любые дополнительные переключатели и просто winword
безуспешно использовал их. Замена winword
на какое-либо другое приложение, например, notepad.exe
работает правильно.
Есть ли что-то особенное, что нам нужно сделать, чтобы запустить приложение магазина Windows?
Воспроизвести его очень просто.
- Просто добавьте вышеуказанные ключи в свой реестр.
- Убедитесь, что на вашем компьютере установлен Microsoft Word.
- Создайте HTML — страницу с гиперссылкой на ней
href
, для свойства которой установлено что-то вродеtest://example.com
. - Откройте страницу в браузере и нажмите на ссылку.
Это должно показать запрос на подтверждение, спрашивающий, хотите ли вы запустить Word. Нажатие кнопки » Да » запустит Word, если у вас стандартная настольная версия Word, но ничего не сделает, если у вас есть версия для магазина.