我正在编写一个java应用程序,它可以处理标准链接(http
/https
)。
如何将我的应用程序注册为在 Windows 10 中打开这些链接(也称为默认浏览器)的默认程序?
我知道我可以在 Windows 设置中选择默认浏览器,但它只显示有限的列表,无法连接自定义程序。
我找到了this ,但它只展示了如何在win10之前做到这一点,而且我不确定它是否可以在java中完成。
最佳答案
- 应用程序需要打包为
exe
。
我用了launch4j为了这。确保设置了 textVersion
和 icon
。
- 需要创建许多注册表项。我通过查看 this post 将它们拼凑在一起。 (请通过@Tarun Lalwani链接),this post ,以及由 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'
- 现在可以在 Windows 设置中选择该应用程序
关于java - 将 java 应用程序注册为 Windows 10 中的默认浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50158532/