Когда я нажимаю на настраиваемую ссылку, такую как foo: \, и на компьютере с Windows уже есть зарегистрированный обработчик протокола, Internet Explorer или Edge отображают предупреждение, прежде чем разрешить пользователю запускать обработчик настраиваемого протокола, но если пользователь решит больше не отображать это предупреждение, Internet explore (Edge) запустит обработчик протокола без отображения предупреждения. Мой вопрос в том, как снова сбросить мой выбор и заставить Internet Explorer или Edge снова отображать предупреждение.
Internet Explorer или Edge: - Как отобразить предупреждение, которое появляется, если вы снова откроете Custom Protocol Handler
Ответы (3)
Если имя вашего протокола - 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
отключит его
Чтобы добавить ответ Раджа Рао: используйте вместо этого HKEY_LOCAL_MACHINE**\SOFTWARE\Microsoft\Internet Explorer\ProtocolExecute
для установки вашего протокола для всех пользователей.
Отмените изменения, вызванные переопределением обработчика протокола, найдя событие и вернув изменения состояния к значениям по умолчанию:
После обновления ключей реестра программа должна транслировать сообщение WM_SETTINGCHANGE с wParam = 0 и lParam, указывающим на строку с нулевым символом в конце «Software \ Clients \ ClientTypeName», чтобы уведомить операционную систему об изменении клиента по умолчанию.
В HKEY_CLASSES_ROOT
верните данные по умолчанию для рассматриваемого протокола.
Эта иерархия реестра заменяет существующую иерархию реестра mailto, находящуюся в HKEY_CLASSES_ROOT \ mailto. Иерархия осталась прежней, изменилось только расположение.
Ссылки