Как зарегистрировать пользовательский протокол для Windows 10? - PullRequest
3 голосов
/ 09 апреля 2019

Я хочу обрабатывать запросы вроде myscheme://foo в любом браузере с помощью моего приложения myscheme.exe.

Как я понимаю, решение будет зависеть от версии используемой операционной системы.Для старых ОС (до Windows 7) достаточно просто сохранить запись в реестре:

HKEY_CLASSES_ROOT
  myscheme
  (Default) = "URL:Myscheme Protocol"
  URL Protocol = ""
  DefaultIcon
     (Default) = "myscheme.exe,1"
  shell
     open
        command
           (Default) = "C:\Program Files\Myscheme\myscheme.exe" "%1"

К сожалению Регистрация приложения в схеме URI объявляет такой способ устаревшим.И я не должен больше использовать этот API.Рекомендуемая версия на странице идет microsoft-edge (она не содержит информации об этом) !!!

Итак, я начал исследовать ее для windows 8.Я наткнулся на модель типа файла и ассоциации URI , где говорится, что в Windows 8 приложения больше не могут программно устанавливать себя в качестве обработчика по умолчанию для типа файла или URI.Как я понимаю, в новой архитектуре используется система уведомлений, где пользователи контролируют приложение по умолчанию через специальное приглашение.Но Программы по умолчанию говорит, что он больше не будет действовать для Windows 10 (ссылка для исследования DEAD!).

Итак, как правильно обрабатывать пользовательские протоколы в Windows 10?К сожалению, у Windows просто ужасная документация.А как насчет разных версий ОС?Я должен использовать разные методы для разных версий?

PS Пожалуйста, не отмечайте этот вопрос как дубликат.Другие вопросы, такие как Как мне зарегистрировать собственный протокол URL в Windows? , Как мне создать свой собственный протокол URL?(например, так: // ...) предлагаем устаревшие решения.

извините за мой плохой английский.

...