社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
  • 157阅读
  • 4回复

[分享]Win10下用程序设置默认浏览器

楼层直达
z3960 
级别: 茶馆馆主
发帖
770593
飞翔币
207694
威望
215657
飞扬币
2511651
信誉值
8


Windows 10下的默认浏览器设置,一般是通过控制面板来设置,且默认成Windows自己的IE, EDGE,而市面上那么多浏览器,不能象以前一样直接写个注册表就成为系统默认浏览器了,一方面是微软想保证系统安全,另一方面是不是在利用自己的平台优势让用户用自家的浏览器?而市面上那么多浏览器如FireFox, Safari,Chrome,还有众多的国内浏览器,怎么让自己成为系统的默认浏览器呢?
其实像FireFox,Chrome都是开源的,应该都涉及设置默认浏览器的代码,有兴趣的可以去看看。这里科普一下微软在Windows 10下设置默认浏览器的规则,核心就是处理Windows文件关联对应的UserChoice注册表键,不过微软用了点算法,必须正确才能生效。
这个算法包含5个核心元素:
  • 文件扩展名,如".txt"
  • SID,即Windows系统当前用户的SID(类似"S-1-5-21-463486358-3398762107-1964875780-1001")
  • ProgID,是文件关联所对应的程序识别ID,如"txtfile"
  • 注册时间,按100纳秒计,精确到设置时的分钟数
  • 一个神秘字符串,到当前Windows11为止一直是"User Choice set via Windows User Experience {D18B6DD5-6124-4341-9318-804003BAFA0B}"

只要在UserChoice下建一个名为Hash的值,并把上面核心元素按如下算法计算出一个字符串值写入(无此值则设置不生效):
hash = Base64(MicrosoftHash(MD5(toLower(extension, sid, progid, regdate, experience))))
下面看一下正常设置的例子:


 
我不喜欢说话却每天说最多的话,我不喜欢笑却总笑个不停,身边的每个人都说我的生活好快乐,于是我也就认为自己真的快乐。可是为什么我会在一大群朋友中突然地就沉默,为什么在人群中看到个相似的背影就难过,看见秋天树木疯狂地掉叶子我就忘记了说话,看见天色渐晚路上暖黄色的灯火就忘记了自己原来的方向。
级别: 超级版主
发帖
837218
飞翔币
228806
威望
224673
飞扬币
2465907
信誉值
0

只看该作者 1 发表于: 2023-06-30
来看一下
级别: 超级版主
发帖
837218
飞翔币
228806
威望
224673
飞扬币
2465907
信誉值
0

只看该作者 2 发表于: 2023-06-30
不错,了解了
srwam 
级别: 超级版主
发帖
638664
飞翔币
1571
威望
25287
飞扬币
2881494
信誉值
0

只看该作者 3 发表于: 2023-08-02
来看看
srwam 
级别: 超级版主
发帖
638664
飞翔币
1571
威望
25287
飞扬币
2881494
信誉值
0

只看该作者 4 发表于: 2023-08-02
了解一下