2016-10-28 54 views
2

我们为我们的应用程序注册自定义协议处理程序。自定义协议处理程序在MS Edge中不起作用

Windows Registry Editor Version 5.00 
[HKEY_CURRENT_USER\SOFTWARE\Classes\testapp] 
@="URL: TestApp Protocol" 
"URL Protocol"="" 
[HKEY_CURRENT_USER\SOFTWARE\Classes\testapp\shell] 
[HKEY_CURRENT_USER\SOFTWARE\Classes\testapp\shell\open] 
[HKEY_CURRENT_USER\SOFTWARE\Classes\testapp\shell\open\command] 
@="\"wscript\" \"C:\\Users\\user1\\AppData\\Local\\Programs\\TestService\\CustomTestProtocolHandler.vbs\" \"%1\"" 

Chrome和Explorer都可以启动此自定义协议处理程序。
但它不适用于MS Edge。
我应该执行一些额外的配置以在Edge中启用自定义协议吗?
或自定义协议处理程序将不会从MS Edge工作?

UPDATE:
它的工作对我来说,如果我用 “EditFlags”= DWORD:00210000值:

Windows Registry Editor Version 5.00 
[HKEY_CURRENT_USER\SOFTWARE\Classes\testapp] 
@="URL: TestApp Protocol" 
"EditFlags"=dword:00210000 
"URL Protocol"="" 
[HKEY_CURRENT_USER\SOFTWARE\Classes\testapp\shell] 
[HKEY_CURRENT_USER\SOFTWARE\Classes\testapp\shell\open] 
[HKEY_CURRENT_USER\SOFTWARE\Classes\testapp\shell\open\command] 
@="\"wscript\" \"C:\\Users\\user1\\AppData\\Local\\Programs\\TestService\\CustomTestProtocolHandler.vbs\" \"%1\"" 

FTA_OpenIsSafe - 0x00010000在
FTA_SafeForElevation - 0x00200000
https://msdn.microsoft.com/en-us/library/windows/desktop/bb762506(v=vs.85).aspx

回答

0

唯一我发现使它在MS Edge中工作的方式是将打开的命令指向中间的bat文件。我的注册表项,如下所示:

Windows Registry Editor Version 5.00 
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\magnet] 
@="URL:Magnet Protocol" 
"URL Protocol"="" 
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\magnet\shell] 
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\magnet\shell\open] 
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\magnet\shell\open\command] 
@="\"D:\\Program Files\\PowerShell Scripts\\HandleMagnetTransmission.bat\" \"%1\"" 

我不知道为什么MS边缘拒绝直接调用任何可执行文件作为协议处理程序。例如,我尝试了notepad.exe,但它也不起作用。

+0

同一件事发生在一台计算机上(对于一个客户)。我的工作站正确打开了所需的程序,但是我看到另一台计算机与Windows 10和MS Edge没有通过自定义协议打开此程序,而同一工作站上的其他浏览器打开。不知道为什么(还)。 –

+0

我看到了这个相同的东西......有人想通了这是为什么? –

+0

如果我添加“EditFlags”= dword:00200000的值,它适用于MS Edge。查看更新。 –