1

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

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

2 ответа2

1

Предположим, что вы зарегистрировали пользовательский протокол, следуя руководству Регистрация приложения в схеме 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. К сожалению, сейчас я не могу углубляться в это, поскольку приложение не хочет реагировать ни на один браузер.

0

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

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

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .