2016-10-28 103 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。查看更新。 –