Chrome中的自定义协议无法按预期运行

时间:2019-06-28 16:47:57

标签: php html google-chrome registry protocols

我的注册文件如下所示(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>

我想念什么?

1 个答案:

答案 0 :(得分:0)

如果您已经导出了任何现有协议定义(即//Assume my form has a panel and bunch of winform controls in it, labels, buttons etc... public partial class myForm : Form { public string myString001 { get; set; } = "I'm a string."; public string myString002 { get; set; } = "Everyone knows you are a string."; public string myString003 = "A string, but without getter and setter. Retro style."; public myForm() { InitializeComponent(); } private void myForm_Load(object sender, EventArgs e) { MessageBox.Show("Hi guys there is a string here."); string str = myClass.myString; } private void AccessStrings() { //I have to access all those strings, and of course, the winform controls' string properties too. //Also the string properties of custom classes that used in this myForm class. } } \HKCR\http\而不是\HKLM\SOFTWARE\Classes\http\),并将其与您的协议定义进行了比较,那么您会注意到它应该是至少\HKCU\*(未设置,不是空文本)。另外,空行可能会激怒REGEDIT来正确导入文件。

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