最近,有人向我求助,希望我能帮助他们实现一键设置Chrome为默认浏览器。我心想,这有何难?改个注册表不就搞定了嘛。很多软件不都是这么做的吗?找到对应的注册表项,快速、准确地修改,然后…结果却弹出了一个令人头疼的窗口。
手动修改注册表不行,那用命令行去修改下呢?结果同样的悲剧发生:错误:拒绝访问
即使是使用了管理员权限。
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.htm\UserChoice /v Progid /t REG_SZ /d ChromeHTML /f
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.html\UserChoice /v Progid /t REG_SZ /d ChromeHTML /f
reg add HKCU\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice /v Progid /t REG_SZ /d ChromeHTML /f
reg add HKCU\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoice /v Progid /t REG_SZ /d ChromeHTML /f
仔细研究发现是因为微软在Windows 10和Windows 11系统中通过更新【Windows 10(KB5034763)和Windows 11(KB5034765)】,引入了一个驱动程序,目的是限制用户通过软件或手动编辑注册表的方式来更改默认的网络浏览器。尽管这一变化给习惯使用自动化脚本或软件更改默认浏览器的用户带来了不便,但用户仍然可以通过Windows的系统设置手动更改默认浏览器。
面对这样的限制,用户有以下两种方法可以尝试:
- 组策略
- 第三方命令行工具
组策略
注意:
如果 Chrome 没有安装在目标计算机上,文件关联将不会应用,用户在打开链接(http 或 https)或文件(html 或 htm)时必须选择一个应用程序。
-
创建一个默认应用程序关联 XML 文件(提供样本)
默认应用程序关联文件是一个 XML 文件,它将文件类型与应用程序关联起来。例如,如果您将 .html 或 .htm 文件与 Chrome 应用程序关联ÿ