Internet Explorer или Edge:- Как отобразить предупреждение, если вы снова откроете Custom Protocol Handler

Когда я нажимаю на пользовательскую ссылку, такую ​​как foo: \, и на Windows-компьютере уже есть зарегистрированный обработчик протокола, Internet Explorer или Edge отображают предупреждение, прежде чем разрешить пользователю запускать обработчик настраиваемого протокола, но если пользователь выбирает не отображать это предупреждение снова, Internet Explorer (Edge) запускает обработчик протокола без отображения предупреждения. Мой вопрос заключается в том, как снова сбросить выбор и заставить Internet Explorer или Edge снова отображать предупреждение.

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

отключит это

Чтобы добавить ответ Раджа Рао: используйте вместо этого HKEY_LOCAL_MACHINE**\SOFTWARE\Microsoft\Internet Explorer\ProtocolExecute чтобы установить ваш протокол для всех пользователей.

Отмените изменения, вызванные переопределением обработчика протокола, найдя событие и вернув изменения состояния по умолчанию:

После обновления разделов реестра программа должна передать сообщение WM_SETTINGCHANGE с wParam = 0 и lParam, указывающим на завершающуюся нулем строку "Software\Clients\ClientTypeName", чтобы уведомить операционную систему об изменении клиента по умолчанию.

В HKEY_CLASSES_ROOT, вернуть данные по умолчанию рассматриваемого протокола.

Эта иерархия реестра заменяет существующую иерархию реестра mailto, найденную в HKEY_CLASSES_ROOT\mailto. Иерархия остается прежней, изменилось только местоположение.

Рекомендации

Другие вопросы по тегам