0

当我单击自定义链接(例如foo:\,并且 Windows 机器上已经注册了协议处理程序时,Internet Explorer 或 Edge 在允许用户运行自定义协议处理程序之前显示警告,但如果用户选择不显示再次出现此警告,Internet explore(Edge) 运行协议处理程序而不显示警告。我的问题是如何再次重置我的选择并让 Internet Explorer 或 Edge 再次显示警告。

4

3 回答 3

2

如果您的协议名称是 foo,那么您可以使用以下内容更新注册表:

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\ProtocolExecute\foo]
"WarnOnOpen"=dword:00000001

启用

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\ProtocolExecute\foo]
"WarnOnOpen"=dword:00000000

禁用

于 2017-07-18T15:07:21.720 回答
0

要添加 Raj Rao 答案:改为使用HKEY_LOCAL_MACHINE**\SOFTWARE\Microsoft\Internet Explorer\ProtocolExecute为所有用户安装您的协议。

于 2020-04-28T11:48:37.323 回答
-1

通过查找事件并将状态更改恢复为其默认值来恢复通过覆盖协议处理程序触发的更改:

更新注册表项后,程序应广播 WM_SETTINGCHANGE 消息,其中 wParam = 0 和 lParam 指向以 null 结尾的字符串“Software\Clients\ClientTypeName”,以通知操作系统默认客户端已更改。

HKEY_CLASSES_ROOT中,恢复相关协议的默认数据。

此注册表层次结构替换了在 HKEY_CLASSES_ROOT\mailto 中找到的现有 mailto 注册表层次结构。层次结构保持不变,只是位置发生了变化。

参考

于 2016-12-03T01:37:52.027 回答