标题: [其他] 如何用批处理将windows10的默认浏览器改成IE? [打印本页]
作者: 195658527 时间: 2019-8-23 11:39 标题: 如何用批处理将windows10的默认浏览器改成IE?
如何用批处理将windows10的默认浏览器改成IE?
改注册表有个哈希搞不定,求救。
作者: flashercs 时间: 2019-8-23 13:50
删掉它 吧- reg delete "HKEY_CLASSES_ROOT\http\shell\open\command" /v "DelegateExecute" /f
- reg delete "HKEY_CLASSES_ROOT\https\shell\open\command" /v "DelegateExecute" /f
复制代码
作者: 195658527 时间: 2019-8-23 15:05
回复 2# flashercs
删掉这个键没啥用途呀?这是啥意思,没看明白。
作者: flashercs 时间: 2019-8-23 15:08
回复 3# 195658527
Edge浏览器不好用吗?为啥非要用IE?
作者: 195658527 时间: 2019-8-23 15:15
回复 4# flashercs
不好用,而且不支持一些需要使用的页面,所以需要批量改成默认IE呢
作者: flashercs 时间: 2019-8-23 15:16
回复 5# 195658527
那你说的注册表的哈希搞不定具体是指的什么?不明白
作者: 195658527 时间: 2019-8-23 15:38
回复 6# flashercs
计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice
Progid 是浏览器的指向的火狐, hash是设置的hash校验值,只有校验值对了才会弹出指定的浏览器,如果随意修改这个注册表就会失效的
作者: flashercs 时间: 2019-8-23 16:33
本帖最后由 flashercs 于 2019-8-23 16:35 编辑
回复 7# 195658527
用组策略
或在一台PC上修改好defaultBrowser,然后Dism.exe /Online /Export-DefaultAppAssociations:E:\AppAssoc.xml
然后到另一台PC上导入 Dism.exe /Online /Import-DefaultAppAssociations:E:\AppAssoc.xml
作者: 195658527 时间: 2019-8-26 14:46
回复 8# flashercs
想要不用第三方软件来完成这个操作,不懂有没有
作者: 窄口牛 时间: 2019-8-26 19:14
- set fso=createobject("scripting.filesystemobject")
- set ws=CreateObject("wscript.shell")
- Dim tempfolder
- Const TemporaryFolder = 2
- Set tempfolder = fso.GetSpecialFolder(TemporaryFolder)
- set fw=fso.createtextfile(tempfolder&"\1.bat",2)
- fw.writeline("@echo off")
- fw.writeline("Setlocal enabledelayedexpansion")
- fw.writeline("reg add HKEY_CLASSES_ROOT\http\shell\open\command /ve /t reg_sz /d ""C:\Program Files\Internet Explorer\iexplore.exe"" /f")
- fw.writeline("reg add HKEY_CLASSES_ROOT\http\shell\open\ddeexec\Application /ve /t reg_sz /d ""IExplore"" /f")
- fw.close
- ws.run "cmd /c %temp%\1.bat",vbhide,True
- fso.deleteFile tempfolder&"\1.bat"
复制代码
试试,没有bug10,不知道行不行
作者: 1801403 时间: 2020-8-29 19:19
回复 7# 195658527
WIN10这么高级了,还要设置hash
作者: geyee 时间: 2020-9-1 18:30 标题: 链接丢了
不用第三方估计比较复杂,可能要考虑userchoice hash算法。需要后缀名(.html),sid,ProgId,16位十六进制时间戳(18位十进制时间戳转换而成),特定字符串这些参数。而后拼接,进行标准md5换算,继而利用微软的特定md5算法,最后base64转码得到UserChoice下ProgId对应的hash。
利用https://kolbi.cz/blog/2017/10/25 ... ociations-per-user/的工具可以方便的解决。SetDefaultBrowser.exe ie即可。
至于利用com类接口、SetAppAsDefault函数,没看太懂。以下链接可供研究。
参考:Change Default Apps, Browser or File Association via Command-line in Windows 10
win10_64 默认应用的UserChoice Hash算法学习
如何绕过Win8、Win10的systemsetting与注册表校验设置默认浏览器
How to programmatically set file associations in Windows 10
What's the Hash in HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.<extension>\UserChoice?
作者: geyee 时间: 2020-9-2 17:54
本帖最后由 geyee 于 2020-9-2 17:55 编辑
回复 8# flashercs
搜索发现,官网也有利用组策略这样的思路来设置IE或者Microsoft Edge为默认浏览器 https://docs.microsoft.com/en-us/microsoftsearch/set-default-browser- New-Item -Path $env:temp -Type Directory -Name "Settings"
- Start-Process Dism.exe -PassThru "/Online /Export-DefaultAppAssociations:$env:temp\Settings\AppAssoc.xml"
- $xmlpath="$env:temp\Settings\AppAssoc.xml"
- $xml=new-object -typename xml
- $xml.load($xmlpath)
-
- function replace-appassoc($sourceid,$newprogid,$newappname)
- {
- $xpath='//*[@Identifier="'+$sourceid+'"]'
- foreach ($item in (Select-Xml -xml $xml -XPath $xpath))
- {
- write-host "$($item.node.ProgId) 和 $($item.node.ApplicationName)正在被替换"
- $item.node.ProgId=$newprogid
- $item.node.ApplicationName=$newappname}
- write-host "替换完毕"
-
- }
- replace-appassoc ".htm" "IE.HTTP" "Internet Explorer"
- replace-appassoc ".html" "IE.HTTP" "Internet Explorer"
- #replace-appassoc ".html" "IE.AssocFile.HTM" "Internet Explorer"
- replace-appassoc "http" "IE.HTTPS" "Internet Explorer"
- replace-appassoc "http" "IE.HTTPS" "Internet Explorer"
-
- $xmlpath2="$env:temp\Settings\AppAssoc2.xml"
- $xml.Save($xmlpath2)
- Dism.exe /Online /Import-DefaultAppAssociations:$xmlpath2
-
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |