[已回复] 有没有命令行设置关联的静默方法?

您的反馈很重要
回复
msold5
帖子: 11
注册时间: 2023年 9月 25日 17:07

[已回复] 有没有命令行设置关联的静默方法?

帖子 msold5 »

是否可以用某个参数来把浏览器设置成默认浏览器?刚装好的系统需要安装默认浏览器时,就可以直接用批处理搞定了。
刚试了下,可以用这个参数可以设置默认浏览器:123browser.exe --make-chrome-default
但是会弹出浏览器界面,能不能不弹出浏览器界面,静默设置呢?
风起云涌
帖子: 302
注册时间: 2023年 5月 31日 10:58

Re: 有没有命令行设置关联的静默方法?

帖子 风起云涌 »

设置系统默认浏览器需要高权限功能,会弹出系统的设置“默认应用”界面,需要用户手动操作,所以无法做到完全静默。
msold5
帖子: 11
注册时间: 2023年 9月 25日 17:07

Re: 有没有命令行设置关联的静默方法?

帖子 msold5 »

风起云涌 写了: 2023年 11月 21日 15:47 设置系统默认浏览器需要高权限功能,会弹出系统的设置“默认应用”界面,需要用户手动操作,所以无法做到完全静默。
据说可以修改注册表让系统不提示选择默认软件:
reg add HKLM\Software\Policies\Microsoft\Windows\Explorer /v NoNewAppAlert /t REG_DWORD /d 1 /F
msold5
帖子: 11
注册时间: 2023年 9月 25日 17:07

Re: 有没有命令行设置关联的静默方法?

帖子 msold5 »

风起云涌 写了: 2023年 11月 21日 15:47 设置系统默认浏览器需要高权限功能,会弹出系统的设置“默认应用”界面,需要用户手动操作,所以无法做到完全静默。
抄作业:http://bbs.wuyou.net/forum.php?mod=redi ... muid=62746
经测试,可使用以下批处理:

代码: 全选

pushd "%~dp0"
setlocal enabledelayedexpansion
set exe=123browser.exe
set pid=123llqHTM
set mydir=%cd:\=\\%
::允许防火墙入站规则
netsh advfirewall firewall add rule name="浏览器123" dir=in action=allow program="%~dp0%exe%" >NUL 2>NUL 

for %%a in (.) do set "Mypath=%%~sa"
echo 当前路径短名是%Mypath%
:文件关联和协议关联
"%~dp0SFTA.exe" --reg "%~dp0%exe%" ".htm"   "%pid%"  
"%~dp0SFTA.exe" --reg "%~dp0%exe%" ".html"  "%pid%"  
"%~dp0SFTA.exe" --reg "%~dp0%exe%" "http"   "%pid%"  
"%~dp0SFTA.exe" --reg "%~dp0%exe%" "https"  "%pid%"  
"%~dp0SFTA.exe" --reg "%~dp0%exe%" "ftp"    "%pid%"

::创建桌面快捷方式
 >浏览器123.vbs echo Set WshShell=WScript.CreateObject("WScript.Shell")
>>浏览器123.vbs echo Set Shell=CreateObject("Shell.Application")
>>浏览器123.vbs echo If WScript.Arguments.length = 0 Then
>>浏览器123.vbs echo 	Shell.ShellExecute "wscript.exe", Chr(34) ^&  WScript.ScriptFullName ^& Chr(34) ^& " uac", "", "runas", 1
>>浏览器123.vbs echo 	WScript.quit
>>浏览器123.vbs echo End If
>>浏览器123.vbs echo set b = WshShell.CreateShortcut(WshShell.SpecialFolders("Desktop") ^& "\浏览器123.lnk") 
>>浏览器123.vbs echo b.TargetPath ="%cd%\%exe%"
>>浏览器123.vbs echo b.Arguments = "--user-data-dir=""%cd%\User Data"""
>>浏览器123.vbs echo b.WorkingDirectory = "%cd%\"
>>浏览器123.vbs echo b.IconLocation = "%cd%\%exe%" 
>>浏览器123.vbs echo b.Description = ""
>>浏览器123.vbs echo b.Save

wscript 浏览器123.vbs

rem 让系统不提示选择默认软件
reg add HKLM\Software\Policies\Microsoft\Windows\Explorer /v NoNewAppAlert /t REG_DWORD /d 1 /F

rem start "" 123browser.exe --make-chrome-default'设置默认值


 >浏览器123.reg echo Windows Registry Editor Version 5.00
>>浏览器123.reg echo.
>>浏览器123.reg echo [HKEY_CLASSES_ROOT\%pid%]
>>浏览器123.reg echo @="123Browser"
>>浏览器123.reg echo "AppUserModelId"="%pid%"
>>浏览器123.reg echo [HKEY_CLASSES_ROOT\%pid%\Application]
>>浏览器123.reg echo "AppUserModelId"="%pid%"
>>浏览器123.reg echo "ApplicationIcon"="%mydir%\\%exe%,0"
>>浏览器123.reg echo "ApplicationName"="123浏览器"
>>浏览器123.reg echo "ApplicationDescription"="访问互联网"
>>浏览器123.reg echo "ApplicationCompany"="The 123浏览器 Authors"
>>浏览器123.reg echo [HKEY_CLASSES_ROOT\%pid%\DefaultIcon]
>>浏览器123.reg echo @="%mydir%\\%exe%,0"
>>浏览器123.reg echo [HKEY_CLASSES_ROOT\%pid%\shell\open\command]
>>浏览器123.reg echo @="\"%mydir%\\%exe%\" --single-argument %%1"
>>浏览器123.reg echo.
>>浏览器123.reg echo [HKEY_CURRENT_USER\Software\Clients\StartMenuInternet]
>>浏览器123.reg echo @="%pid%"
>>浏览器123.reg echo [HKEY_CURRENT_USER\Software\Clients\StartMenuInternet\%pid%]
>>浏览器123.reg echo @="123浏览器"
>>浏览器123.reg echo [HKEY_CURRENT_USER\Software\Clients\StartMenuInternet\%pid%\Capabilities]
>>浏览器123.reg echo "ApplicationDescription"="123浏览器 是一款可高速运行网页和应用的网络浏览器。它快捷、稳定且易于使用。123浏览器 内置的防护恶意软件和网上诱骗的功能可让您更安全地浏览网页。"
>>浏览器123.reg echo "ApplicationIcon"="%mydir%\\%exe%,0"
>>浏览器123.reg echo "ApplicationName"="123浏览器"
>>浏览器123.reg echo [HKEY_CURRENT_USER\Software\Clients\StartMenuInternet\%pid%\Capabilities\FileAssociations]
>>浏览器123.reg echo ".htm"="%pid%"
>>浏览器123.reg echo ".html"="%pid%"
>>浏览器123.reg echo ".pdf"="%pid%"
>>浏览器123.reg echo ".shtml"="%pid%"
>>浏览器123.reg echo ".svg"="%pid%"
>>浏览器123.reg echo ".xht"="%pid%"
>>浏览器123.reg echo ".xhtml"="%pid%"
>>浏览器123.reg echo ".webp"="%pid%"
>>浏览器123.reg echo ".shtm"="%pid%"
>>浏览器123.reg echo ".mht"="%pid%"
>>浏览器123.reg echo ".mhtm"="%pid%"
>>浏览器123.reg echo ".mhtml"="%pid%"
>>浏览器123.reg echo ".xml"="%pid%"
>>浏览器123.reg echo [HKEY_CURRENT_USER\Software\Clients\StartMenuInternet\%pid%\Capabilities\Startmenu]
>>浏览器123.reg echo "StartMenuInternet"="%pid%"
>>浏览器123.reg echo [HKEY_CURRENT_USER\Software\Clients\StartMenuInternet\%pid%\Capabilities\URLAssociations]
>>浏览器123.reg echo "http"="%pid%"
>>浏览器123.reg echo "https"="%pid%"
>>浏览器123.reg echo "irc"="%pid%"
>>浏览器123.reg echo "mailto"="%pid%"
>>浏览器123.reg echo "mms"="%pid%"
>>浏览器123.reg echo "news"="%pid%"
>>浏览器123.reg echo "nntp"="%pid%"
>>浏览器123.reg echo "sms"="%pid%"
>>浏览器123.reg echo "smsto"="%pid%"
>>浏览器123.reg echo "snews"="%pid%"
>>浏览器123.reg echo "tel"="%pid%"
>>浏览器123.reg echo "urn"="%pid%"
>>浏览器123.reg echo "webcal"="%pid%"
>>浏览器123.reg echo [HKEY_CURRENT_USER\Software\Clients\StartMenuInternet\%pid%\DefaultIcon]
>>浏览器123.reg echo @="%mydir%\\%exe%,0"
>>浏览器123.reg echo [HKEY_CURRENT_USER\Software\Clients\StartMenuInternet\%pid%\InstallInfo]
>>浏览器123.reg echo "ReinstallCommand"="\"%mydir%\\%exe%\" --make-default-browser"
>>浏览器123.reg echo "HideIconsCommand"="\"%mydir%\\%exe%\" --hide-icons"
>>浏览器123.reg echo "ShowIconsCommand"="\"%mydir%\\%exe%\" --show-icons"
>>浏览器123.reg echo "IconsVisible"=dword:00000001
>>浏览器123.reg echo [HKEY_CURRENT_USER\Software\Clients\StartMenuInternet\%pid%\shell\open\command]
>>浏览器123.reg echo @="\"%mydir%\\%exe%\""
>>浏览器123.reg echo [HKEY_CURRENT_USER\Software\RegisteredApplications]
>>浏览器123.reg echo "%pid%"="Software\\Clients\\StartMenuInternet\\%pid%\\Capabilities"
>>浏览器123.reg echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\%exe%]
>>浏览器123.reg echo @="%mydir%\\%exe%"
>>浏览器123.reg echo "Path"="%mydir%"
>>浏览器123.reg echo.
>>浏览器123.reg echo [HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Explorer]
>>浏览器123.reg echo "NoNewAppAlert"=dword:00000001
del 浏览器123.vbs
regedit /s 浏览器123.reg
del 浏览器123.reg

quit

在“browser.exe --make-chrome-default”有效基础上,可使用下列VBS直接设默认浏览器,经测试无效

 >浏览器123.vbs echo Set WshShell=WScript.CreateObject("WScript.Shell")
>>浏览器123.vbs echo Set Shell=CreateObject("Shell.Application")
>>浏览器123.vbs echo If WScript.Arguments.length = 0 Then
>>浏览器123.vbs echo 	Shell.ShellExecute "wscript.exe", Chr(34) ^&  WScript.ScriptFullName ^& Chr(34) ^& " uac", "", "runas", 1
>>浏览器123.vbs echo 	WScript.quit
>>浏览器123.vbs echo End If
>>浏览器123.vbs echo WshShell.Run "123browser.exe --make-chrome-default",1,0'参数:显示、等待
>>浏览器123.vbs echo wscript.sleep 3000
>>浏览器123.vbs echo 'WshShell.appactivate("新标签页 - 123浏览器")
>>浏览器123.vbs echo wscript.sleep 300
>>浏览器123.vbs echo WshShell.SendKeys "%%f"'“文件菜单”
>>浏览器123.vbs echo WshShell.SendKeys "X"'“退出”
>>浏览器123.vbs echo wscript.sleep 200
>>浏览器123.vbs echo Close_Process2("123browserlakitu.exe")
>>浏览器123.vbs echo Close_Process2("123browser.exe")
>>浏览器123.vbs echo set b = WshShell.CreateShortcut(WshShell.SpecialFolders("Desktop") ^& "\浏览器123.lnk") 
>>浏览器123.vbs echo b.TargetPath ="%cd%\123browser.exe"
>>浏览器123.vbs echo b.Arguments = "--user-data-dir=""%cd%\User Data"""
>>浏览器123.vbs echo b.WorkingDirectory = "%cd%\"
>>浏览器123.vbs echo b.IconLocation = "%cd%\123browser.exe" 
>>浏览器123.vbs echo b.Description = ""
>>浏览器123.vbs echo b.Save
>>浏览器123.vbs echo Function Close_Process2(ProcessName) '关闭程序
>>浏览器123.vbs echo 	on error resume next
>>浏览器123.vbs echo 		dim i
>>浏览器123.vbs echo 		Set prog=getobject("winmgmts:\\.").instancesof("win32_process")
>>浏览器123.vbs echo 		For Each i In prog
>>浏览器123.vbs echo 		  If LCase(i.name)=LCase(ProcessName) Then i.terminate()
>>浏览器123.vbs echo 		Next
>>浏览器123.vbs echo 		set prog=nothing
>>浏览器123.vbs echo 	on error goto 0
>>浏览器123.vbs echo End Function
回复