【Windows】一键设置默认浏览器

最近,有人向我求助,希望我能帮助他们实现一键设置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的系统设置手动更改默认浏览器。

面对这样的限制,用户有以下两种方法可以尝试:

  1. 组策略
  2. 第三方命令行工具

组策略

注意:如果 Chrome 没有安装在目标计算机上,文件关联将不会应用,用户在打开链接(http 或 https)或文件(html 或 htm)时必须选择一个应用程序。

  1. 创建一个默认应用程序关联 XML 文件(提供样本)
    默认应用程序关联文件是一个 XML 文件,它将文件类型与应用程序关联起来。例如,如果您将 .html 或 .htm 文件与 Chrome 应用程序关联,那么默认情况下,每次用户打开 html 或 htm 文件时都会启动 Chrome。

    <?xml version="1.0" encoding="UTF-8"?>
    <DefaultAssociations>
    <Association ApplicationName="Google Chrome" ProgId="ChromeHTML" Identifier=".html"/>
    <Association ApplicationName="Google Chrome" ProgId="ChromeHTML" Identifier=".htm"/>
    <Association ApplicationName="Google Chrome" ProgId="ChromeHTML" Identifier="http"/>
    <Association ApplicationName="Google Chrome" ProgId="ChromeHTML" Identifier="https"/>  
    <Association ApplicationName="Google Chrome" ProgId="ChromeHTML" Identifier=".pdf"/>
    </DefaultAssociations>
    

    将以上xml内容保存在c:\windows\system32\defaultassociations.xml中, 对于加入域的计算机,必须将此文件放置在所有加入域的计算机都能访问的服务器上的共享文件夹中。

  2. 配置默认文件类型和协议关联配置文件的组策略,请按照以下步骤操作:

    1. 打开组策略编辑器,然后转到计算机配置\管理模板\Windows 组件\文件资源管理器
    2. 选择设置默认关联配置文件
    3. 点击“策略设置”,然后点击启用
    4. 选项:下,输入您的默认关联配置文件的位置(例:c:\windows\system32\defaultassociations.xml)。
    5. 点击确定以保存策略设置。
    6. 最后运行GPUpdate.exe /force命令来强制手动刷新组策略,或者重启电脑来刷新组策略,来验证你的配置是否生效。
      在这里插入图片描述

第三方命令行工具

IT 顾问 Christoph Kolbicz 的程序 SetUserFTA,一个命令行工具,允许 Windows 管理员通过登录脚本和其他方法来更改文件关联。

工具下载地址:https://setuserfta.com/SetUserFTA.zip

下面将通过这个命令行工具,使用powershell去设置默认浏览器为Chrome,大致流程如下:

  • 检查并创建下载文件夹。
  • 下载 SetUserFTA.zip 文件。
  • 解压文件到指定文件夹。
  • 启动 SetUserFTA.exe 来设置 Chrome 为多种文件扩展名和 URL 协议的默认浏览器。
# 定义下载链接和目标文件夹
$url = "https://setuserfta.com/SetUserFTA.zip"
$downloadFolderPath = "$env:USERPROFILE\downloads"  #可以根据自己情况修改下载文件夹位置
$zipFilePath = Join-Path $downloadFolderPath "SetUserFTA.zip"


# 检查 downloads 文件夹是否存在,如果不存在则创建
if (-Not (Test-Path -Path $downloadFolderPath)) {
    New-Item -ItemType Directory -Path $downloadFolderPath
}

# 下载文件
Write-Host "开始从 $url 下载文件..."
try {
    Invoke-WebRequest -Uri $url -OutFile $zipFilePath
} catch {
    Write-Host "下载失败: $_"
    exit
}

# 解压文件
if (Test-Path -Path $zipFilePath) {
    Write-Host "开始解压文件..."
    Expand-Archive -Path $zipFilePath -DestinationPath $downloadFolderPath
}

# 设置 SetUserFTA 可执行文件路径
$SetUserFTA_path = Join-Path $downloadFolderPath "SetUserFTA\SetUserFTA.exe"

# 检查 SetUserFTA.exe 是否存在
if (Test-Path -Path $SetUserFTA_path) {
    # 定义要设置的扩展名和协议
    $extensionsAndProtocols = @(".html", ".htm", "http", "https", ".pdf")
    
    # 循环设置默认浏览器
    foreach ($item in $extensionsAndProtocols) {
        try {
            Write-Host "正在设置 $item 的默认浏览器为 Chrome..."
            Start-Process -FilePath $SetUserFTA_path -ArgumentList "$item ChromeHTML" -NoNewWindow -Wait
            Start-Sleep -s 1
        } catch {
            Write-Host "设置 $item 时出错: $_"
        }
    }
} else {
    Write-Host "未找到 SetUserFTA.exe"
}

参考

  • https://learn.microsoft.com/en-us/deployedge/edge-default-browser
  • https://kolbi.cz/blog/
  • https://setuserfta.com/
  • 25
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windows 操作系统中,可以通过以下几种方式实现一键睡眠: 1. 通过开始菜单 点击 Windows 开始菜单,在弹出的菜单中选择“电源”,然后选择“睡眠”即可。 另外,你还可以将“睡眠”设置为开始菜单中的默认关机选项,这样就可以通过 Windows 键 + X 键快速打开开始菜单并进入睡眠模式了。具体步骤如下: - 右键点击任务栏上的开始按钮,在弹出的菜单中选择“电源选项”; - 在打开的“电源与睡眠设置”窗口中,点击左侧菜单中的“选择电源按钮的功能”; - 在“电源按钮和启动菜单”设置中,将“电源按钮的功能”改为“睡眠”,然后保存设置即可。 2. 使用快捷键 在 Windows 操作系统中,可以通过一些快捷键来实现一键睡眠。具体如下: - Windows 键 + L 键:锁定电脑; - Windows 键 + D 键:显示桌面; - Windows 键 + R 键:打开运行窗口; - Windows 键 + E 键:打开文件资源管理器; - Windows 键 + X 键:打开开始菜单上的快捷菜单。 在这些快捷键中,Windows 键 + X 键可以快速打开开始菜单并进入睡眠模式。 3. 使用第三方工具 在 Windows 操作系统中,还有一些第三方工具可以实现一键睡眠的功能,如“Sleep Timer”,“SleepShortcut”等,这些工具可以在网上进行搜索并下载。但需要注意的是,下载和使用第三方软件时需要注意软件的安全性,避免下载到恶意软件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值