Как GitHub Desktop запускается прямо из браузера? И как я могу это реализовать?

Как GitHub запускает приложение GitHub Desktop прямо из браузера?

Работает даже при использовании Google Chrome. Я думал, что это невозможно за пределами Internet Explorer.

2 ответа

Решение

Предположим, что вы зарегистрировали пользовательский протокол, следуя руководству Регистрация приложения в схеме URI.

Используя простой reg-файл, который выглядит следующим образом, вы зарегистрируете собственный протокол с именем mytest: это начинается C:\temp\test.bat когда это называется.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\mytest]
@="URL:mytest Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\mytest\shell]

[HKEY_CLASSES_ROOT\mytest\shell\open]

[HKEY_CLASSES_ROOT\mytest\shell\open\command]
@="\"C:\\temp\\test.bat\" \"%1\""

Используя следующий контент для test.bat вы получите окно cmd, которое отображает аргумент и остается открытым:

echo %1%
pause

Это работает прямо на вашем cmd, IE и Firefox. Chrome и Opera предупредят вас о том, что вы собираетесь запустить приложение. Эта информация также доступна в этом вопросе: Пользовательский обработчик протокола в Chrome

Если вы посмотрите дальше, то обнаружите, что приложение github регистрирует протокол github-windows таким образом. Так что вполне вероятно, что есть способ заставить его работать с Chrome. К сожалению, сейчас я не могу углубляться в это, поскольку приложение не хочет реагировать ни на один браузер.

[Настройка программы] Добавьте подключ в ваше приложение "SupportedProtocols" HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\

Затем добавьте Str Type с именем каждого протокола, который вы хотите обработать, без значений

[Настройка приложения] Далее добавьте / обновите запись вашего приложения в разделе HKEY_CLASSES_ROOT \ Applications \

* Если вашему приложению необходимо сохранить URL-адрес, выполните следующие действия. Добавьте тип Str с именем "SaveURL".

* Если вашему приложению необходимо использовать URL-адрес, выполните следующие действия: Добавьте тип DWORD с именем "UseURL". Установите его значение равным 1.

Выше должно включить поддержку вашего приложения

Другие вопросы по тегам