先放脚本内容:
::https://baijiahao.baidu.com/s?id=1665560383633884294&wfr=spider&for=pc ::https://www.cnblogs.com/yannana/p/11575549.html @echo off&color 17 if exist "%SystemRoot%\SysWOW64" path %path%;%windir%\SysNative;%SystemRoot%\SysWOW64;%~dp0 bcdedit >nul if '%errorlevel%' NEQ '0' (goto UACPrompt) else (goto UACAdmin) :UACPrompt %1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit exit /B :UACAdmin cd /d "%~dp0" echo 当前运行路径是:%CD% echo 已获取管理员权限 @ECHO OFF ::游戏路径,修改为你自己炉石的路径 set Rule_Dir=D:\Program Files (x86)\Hearthstone\Hearthstone.exe ::断线时间(5秒更安全) set Time_Out=3 ::防火墙规则名称 set Rule_Name=炉石断线 ::如果不存在规则,则添加屏蔽炉石网络权限的规则,否则跳过这一步 netsh advfirewall firewall show rule name="%Rule_Name%" >nul if %errorlevel% == 0 ( echo 规则%Rule_Name%已经存在,无需添加 )else ( netsh advfirewall firewall add rule name="%Rule_Name%" dir=out program="%Rule_Dir%" action=block if %errorlevel% == 0 ( echo 防火墙规则 %Rule_Name% 添加成功 )else ( echo 添加防火墙规则失败,请检查是否具备[管理员权限],即将退出... TIMEOUT /T 5 exit ) ) ::启用指定规则 (禁止炉石访问网络),并更新规则指定的路径 netsh advfirewall firewall set rule name="%Rule_Name%" new program="%Rule_Dir%" enable=yes if %errorlevel% == 0 ( echo 炉石断网已生效,等待恢复中... )else ( echo 防火墙规则修改失败,请检查是否具备[管理员权限],即将退出... TIMEOUT /T 5 exit ) ::等待一段时间,按任意键可以跳过 (数字为秒数,期间按任意键会进入下一步,即提前恢复炉石的网络权限) TIMEOUT /T %Time_Out% ::禁用指定规则 (允许炉石访问网络) netsh advfirewall firewall set rule name="%Rule_Name%" new enable=no if %errorlevel% == 0 ( echo 恢复炉石网络成功 )else ( echo 防火墙规则恢复失败,请检查是否具备[管理员权限],按任意键退出... TIMEOUT /T 5 pause exit脚本来源已经在脚本的第一行和第二行说明了。 原脚本需要用管理员权限运行才有效,所以加了自动获取管理员权限的部分。 复制上面脚本内容后,粘贴到txt中保存,然后将txt更名为bat。 需要注意的是:
粘贴后的编码格式需要为ANSI,不然无法正常显示中文。需要在脚本中的第21行指定炉石传说的程序地址,不要加双引号原文中建议在回合结束前8秒左右运行脚本提示:
如果某回合死了,那使用整活脚本就不会中止画面,完结比赛后也没有断线提示。前几回合没有使用的必要虽然可以整活,还是需要控制时间