Регистрация Java-приложения в качестве браузера по умолчанию в Windows 10 - PullRequest
0 голосов
/ 03 мая 2018

Я пишу Java-приложение, которое может обрабатывать стандартные ссылки (http / https).

Как я могу зарегистрировать свое приложение в качестве программы по умолчанию, открывающей эти ссылки (по умолчанию браузер) в Windows 10?

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

Я нашел это , но он показывает только, как это сделать до win10, плюс я не уверен, что это можно сделать в Java.

1 Ответ

0 голосов
/ 06 мая 2018
  1. Приложение должно быть упаковано как exe.

Я использовал для этого launch4j . Убедитесь, что textVersion и icon установлены.

  1. Необходимо создать много ключей реестра. Я собрал их вместе, просматривая этот пост (любезно связанный @ Tarun Lalwani ), этот пост и записи реестра, созданные firefox. Это означает, что некоторые из них могут не понадобиться.

Зарегистрировать клиента

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\MyApp\Capabilities]
'ApplicationDescription'='MyApp'
'ApplicationIcon'='C:\MyApp\MyApp.exe,0'
'ApplicationName'='MyApp'

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\MyApp\Capabilities\URLAssociations]
'http'='MyAppURL'
'https'='MyAppURL'

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\MyApp\DefaultIcon]
@='C:\MyApp\MyApp.exe,0'

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\MyApp\shell\open\command]
@='C:\MyApp\MyApp.exe'

Зарегистрировать обработчик URL

[HKEY_LOCAL_MACHINE\Software\Classes\MyAppURL]
@='MyApp Document'
'EditFlags'=0x2
'FriendlyTypeName'='MyApp Document'
'URL Protocol'=''

[HKEY_LOCAL_MACHINE\Software\Classes\MyAppURL\DefaultIcon]
@='C:\MyApp\MyApp.exe,0'

[HKEY_LOCAL_MACHINE\Software\Classes\MyAppURL\shell]
@='open'

[HKEY_LOCAL_MACHINE\Software\Classes\MyAppURL\shell\open\command]
@='"C:\MyApp\MyApp.exe" --url "%1"'

Регистрация в программах по умолчанию

[HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications]
'MyApp'='Software\Clients\StartMenuInternet\MyApp\Capabilities'
  1. Теперь приложение можно выбрать в настройках Windows
...