首页 > 解决方案 > Chrome 中的自定义协议未按预期工作

问题描述

我的注册文件如下所示(Exoscape.reg):

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\exoscape-launcher]
"URL Protocol"="\"\""

@="\"URL:ExoScape-Launcher Protocol\""

[HKEY_CURRENT_USER\Software\Classes\exoscape-launcher\DefaultIcon]
@="\"Launcher.jar,1\""

[HKEY_CURRENT_USER\Software\Classes\exoscape-launcher\shell]

[HKEY_CURRENT_USER\Software\Classes\exoscape-launcher\shell\open]

[HKEY_CURRENT_USER\Software\Classes\exoscape-launcher\shell\open\command]
@="\"C:\\Program Files\\ExoScape\\Launcher.jar\" \"%1\""

我的文件位于正确的位置,当我尝试在 CMD 中进行测试时,我没有收到任何错误,但没有启动:

"C:\Program Files\ExoScape\Launcher.jar" "ExoScape-Launcher:Launcher.jar"

我的HREF标签在我的站点中看起来像这样,单击时,我会收到打开启动器提示,按下时不会启动:

<a href="ExoScape-Launcher:Launcher.jar">Play Now</a>

我错过了什么?

标签: phphtmlgoogle-chromeregistryprotocols

解决方案


如果您已经导出了任何现有的协议定义(即\HKCR\http\\HKLM\SOFTWARE\Classes\http\代替\HKCU\*)并将其与您的进行比较,那么您会注意到它至少应该是"URL Protocol"=""(未设置,而不是空文本)。此外,空行可能会刺激 REGEDIT 正确导入您的文件。

因此,将其导出,根据您的需要进行修改,然后重试。为什么你省略了 DefaultIcon 的路径?


推荐阅读