必须先关闭Edge的“保护默认浏览器设置”,再手动重置HTTP、HTTPS、FTP、.html、.htm五项协议绑定,若目标浏览器未出现在协议列表则需用PowerShell重注册Edge协议处理器,最后删除注册表中被锁定的UserChoice项。

当你在Windows 10中点击“设为默认浏览器”后界面无变化、选项灰显、设置不保存,或双击HTML文件仍跳转到旧浏览器,说明系统底层协议注册已被破坏、被第三方软件锁定,或Edge自身保护机制正在拦截更改。
先关掉Edge的“保护默认浏览器设置”
这一步必须最先做。Edge内置的保护功能会主动撤销你刚做的设置——哪怕你点完“设为默认”,它几秒后就自动切回原样。【务必关闭它】。
启动Edge → 点右上角「…」→「设置」→ 左侧选「默认浏览器」→ 找到「保护默认浏览器设置」开关 → 关闭它。
关闭后页面下方应显示“已关闭”。若仍显示“已启用”,说明当前账户受组策略限制,跳过此步直接进入PowerShell方法。
手动绑定HTTP/HTTPS等五项核心协议
仅改“Web浏览器”一项远远不够。双击.html文件、点击邮件里的链接、调用Web API失败,根源都在协议层残留绑定。必须逐项清理并重置。
按Win + I →「应用」→「默认应用」→ 滚动到底部 → 点击「按协议设置默认应用」。
依次操作以下五项,每项都必须手动点击当前默认程序 → 在弹出列表中选择目标浏览器(Chrome/Firefox/Edge):
① HTTP → 选目标浏览器
② HTTPS → 选目标浏览器
③ FTP → 选目标浏览器
④ .html → 选目标浏览器
⑤ .htm → 选目标浏览器
【注意】.html 和 .htm 必须单独设置,缺一不可。只设“Web浏览器”无法覆盖文件双击行为。
若某项列表中没有你的目标浏览器,说明其协议处理器注册已丢失,需执行PowerShell重注册。
用PowerShell重注册Edge协议处理器(仅当Edge无法出现在协议列表时)
以管理员身份运行 PowerShell:开始搜“PowerShell” → 右键 →「以管理员身份运行」。
逐行输入并回车执行:
Get-AppXPackage -AllUsers -Name Microsoft.MicrosoftEdge | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml" -Verbose}
执行完成后若无红色报错,且末尾出现「操作完成」字样,即表示Edge所有协议处理器已重新注册进系统。
重启电脑,再进入「按协议设置默认应用」页面,HTTP/HTTPS等选项将重新出现在可选列表中。
删掉注册表里被锁死的UserChoice项
某些安全软件或恶意程序会写死注册表,强制锁定默认浏览器。系统设置界面能点但不生效,十有八九是这里被篡改了。
按下Win + R → 输入regedit → 回车。
导航至:
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice
再打开另一路径:
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoice
删除这两个路径下的UserChoice项(删除前右键→「导出」备份)。
关闭注册表编辑器,重启电脑。


















