在Windows 10中将Java应用程序注册为默认浏览器

时间:2018-05-03 15:16:37

标签: java browser windows-10 registry

我正在编写一个java应用程序,它可以处理标准链接(http / https)。

如何将我的应用程序注册为在Windows 10中打开这些链接(即默认浏览器)的默认程序?

我知道我可以在Windows设置中选择默认浏览器,但它只显示有限的列表,无法连接自定义程序。

我找到了this,但它只显示了如何在win10之前完成它,而且我不确定它是否可以在java中完成。

1 个答案:

答案 0 :(得分:2)

  1. 应用程序需要打包为exe
  2. 我使用了launch4j。确保已设置textVersionicon

    1. 需要创建许多注册表项。我通过查看this post(由@Tarun Lalwani友情链接),this post以及firefox创建的注册表项将这些拼凑在一起。这意味着其中一些可能没有必要。
    2. 注册客户

      [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'
      

      注册网址处理程序

      [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设置中选择应用程序