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

news2024/9/8 23:18:30

最近,有人向我求助,希望我能帮助他们实现一键设置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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1840683.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

24计算机应届生的活路是什么

不够大胆❗ 很多小伙伴在找工作时觉得自己没有竞争力&#xff0c;很没有自信&#xff0c;以至于很害怕找工作面试&#xff0c;被人否定的感觉很不好受。 其实很多工作并没有想象中的高大上&#xff0c;不要害怕&#xff0c;计算机就业的方向是真的广&#xff0c;不要走窄了&…

用android如何实现计算机计算功能

一.新建一个项目 步骤&#xff1a; 1.新建项目 2.选择 二.用户界面构建 找到项目的res的下面layout里面的activity.xml文件进行约束布局界面构建。 activity.xml代码如下&#xff1a; <?xml version"1.0" encoding"utf-8"?> <androidx.c…

Word页码设置,封面无页码,目录摘要阿拉伯数字I,II,III页码,正文开始123为页码

一、背景 使用Word写项目书或论文时&#xff0c;需要正确插入页码&#xff0c;比如封面无页码&#xff0c;目录摘要阿拉伯数字I&#xff0c;II&#xff0c;III为页码&#xff0c;正文开始以123为页码&#xff0c;下面介绍具体实施方法。 所用Word版本&#xff1a;2021 二、W…

【机器学习】第3章 K-近邻算法

一、概念 1.K-近邻算法&#xff1a;也叫KNN 分类 算法&#xff0c;其中的N是 邻近邻居NearestNeighbor的首字母。 &#xff08;1&#xff09;其中K是特征值&#xff0c;就是选择离某个预测的值&#xff08;例如预测的是苹果&#xff0c;就找个苹果&#xff09;最近的几个值&am…

Ollama(docker)+ Open Webui(docker)+Comfyui

Windows 系统可以安装docker desktop 相对比较好用一点&#xff0c;其他的应该也可以 比如rancher desktop podman desktop 安装需要windows WSL 安装ollama docker docker run -d --gpusall -v D:\ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama 这里…

AI视频智能监管赋能城市管理:打造安全有序的城市环境

一、方案背景 随着城市化进程的加速和科技的飞速发展&#xff0c;街道治安问题日益凸显&#xff0c;治安监控成为维护社会稳定和保障人民安全的重要手段。当前&#xff0c;许多城市已经建立了较为完善的治安监控体系&#xff0c;但仍存在一些问题。例如&#xff0c;监控设备分…

20240619在飞凌OK3588-C的Linux R4系统下查找MIPI YUV摄像头的csi size err

20240619在飞凌OK3588-C的Linux R4系统下查找MIPI YUV摄像头的csi size err 2024/6/19 14:00 缘起&#xff0c;公司使用LVDS OUT的机芯&#xff0c;4LANE的LVDS输出。1920x108030分辨率&#xff08;1080p/30&#xff09; 通过FPGA转换为2LANE的MIPI OUT之后进RK3588/OK3588-C。…

加油团油卡密优惠系统开发之多平台兼容性及适配(二)

一、引言 随着科技的快速发展和设备的多样化&#xff0c;确保软件系统在不同平台上的兼容性及适配变得越来越重要。加油团油卡密优惠系统作为一款面向广大用户的在线服务系统&#xff0c;其多平台兼容性及适配的优劣直接影响到用户的体验和使用效果。本文将进一步探讨如何提升…

红队实战宝典之内网渗透测试

本文源自《红队实战宝典之内网渗透测试》一书前言。 近年来&#xff0c;随着计算机网络技术的发展和应用范围的扩大&#xff0c;不同结构、不同规模的局域网和广域网迅速遍及全球。 以互联网为代表的计算机网络技术在短短几十年内经历了从0到1、从简单到复杂的飞速发展&#…

重磅!首个跨平台的通用Linux端间互联组件Klink在openKylin开源

随着智能终端设备的普及&#xff0c;多个智能终端设备之间的互联互通应用场景日益丰富&#xff0c;多设备互联互通应用场景需要开发者单独实现通讯协议。因此&#xff0c;为解决跨平台互联互通问题&#xff0c;由openKylin社区理事单位麒麟软件旗下星光麒麟团队成立的Connectiv…

Python微磁学磁倾斜和西塔规则算法

&#x1f4dc;有限差分-用例 &#x1f4dc;离散化偏微分方程求解器和模型定型 | &#x1f4dc;三维热传递偏微分方程解 | &#x1f4dc;特定资产期权价值偏微分方程计算 | &#x1f4dc;三维波偏微分方程空间导数计算 | &#x1f4dc;应力-速度公式一阶声波方程模拟二维地震波…

tkinter实现一个GUI界面-快速入手

目录 一个简单界面输出效果其他功能插入进度条文本框内容输入和删除标签内容显示和删除 一个简单界面 含插入文本、文本框、按钮、按钮调用函数 # -*- coding: UTF-8 -*-import tkinter as tk from tkinter import END from tkinter import filedialog from tkinter impor…

3d模型有个虚拟外框怎么去除?---模大狮模型网

在3D建模和渲染过程中&#xff0c;虚拟外框(Bounding Box)是一个常见的显示元素&#xff0c;用于表示模型的包围盒或选择状态。尽管虚拟外框在一些情况下有其作用&#xff0c;但在最终渲染或呈现阶段&#xff0c;我们通常希望清除这些辅助显示&#xff0c;以展示纯粹的模型效果…

[图解]企业应用架构模式2024新译本讲解14-服务层2

1 00:00:01,070 --> 00:00:01,820 我们来看案例 2 00:00:02,600 --> 00:00:06,620 案例也同样是之前跟事务脚本 3 00:00:07,030 --> 00:00:09,400 领域模型等等用过的案例是一样的 4 00:00:10,480 --> 00:00:12,700 这里译文改了一些 5 00:00:16,200 --> 00…

ai创作是什么?分享ai创作的方法

ai创作是什么&#xff1f;在当今这个信息爆炸的时代&#xff0c;文字的力量愈发显得重要。无论是日常沟通还是专业创作&#xff0c;我们都需要用文字来表达自己&#xff0c;传递思想。然而&#xff0c;面对海量的信息和快速变化的世界&#xff0c;如何高效地生成高质量的文字内…

高效、智能、稳定,LoRa监测终端为光伏跟踪支架系统保驾护航

在光伏发电领域&#xff0c;光伏跟踪支架作为提高光伏系统发电效率的关键技术之一&#xff0c;已经得到了广泛的应用。然而&#xff0c;如何有效地监测光伏跟踪支架的状态&#xff0c;确保其稳定、高效地运行&#xff0c;一直是业界关注的焦点。近年来&#xff0c;随着物联网技…

基础模型服务商SiliconCloud,新注册用户赠送 14 元的配额(约 1 亿 token)

注册链接&#xff1a;https://cloud.siliconflow.cn?referrerclx1f2kue00005c599dx5u8dz 开源模型可以自己部署&#xff0c;对服务器的要求还是挺高&#xff0c;以及学习成本、部署过程成本都是比较高&#xff0c;硅基流动SiliconFlow提供了另一个方式&#xff0c;可以像使用…

C++ (week8):数据库

文章目录 一、数据库简介1.数据库2.MySQL(1)数据库的结构(2)MySQL的三种使用方式(3)命令行(4)Navicat Premium 二、SQL1.SQL (Structured Query Language)&#xff0c;即结构化查询语言2.数据定义语言 DDL (Data Definition Language) &#xff0c;创建、修改、删除数据库、表结…

LCB模型引领机器人进入端到端新维度

论文标题&#xff1a; From LLMs to Actions: Latent Codes as Bridges in Hierarchical Robot Control 论文作者&#xff1a; Yide Shentu&#xff0c;Philipp Wu&#xff0c;Aravind Rajeswaran&#xff0c;Pieter Abbeel 项目地址&#xff1a; https://fredshentu.gith…

WDF驱动开发-计时器

WDF可以使用框架的内置计时器支持。 它适用于 Kernel-Mode Driver Framework (KMDF) 驱动程序&#xff0c;以及从版本 2 开始的 User-Mode Driver Framework (UMDF) 驱动程序。 框架提供了一个 计时器对象 &#xff0c;使驱动程序能够创建计时器。 在驱动程序创建计时器对象并…