Win10或Win11不能运行《血战上海滩》的解决办法

自打宝贝在游戏厅玩过了《血战上海滩》这个游戏,就想要在电脑上玩,没办法,老父亲就要满足一下需求。
直接下载了免安装版,信心实足的双击启动...
额,没有启动起来,什么鬼...
Try again...
Try again..
Try again.
Try again
Try agai
Try aga
Try ag
Try a
Try...

祭出度娘,输入关键词“win11无法运行血战上海滩”...
查到下面一个解决方式,试了一下可以运行
血战上海滩电脑怎么玩不了 电脑不能玩血战上海滩如何解决

但是
每次要手动设置分辨率多麻烦,必须自动化。
查一下批处理如何更改分辨率,不能直接改,需要借助第三方小工具,例如:QRes
点此 下载 QRes

打开vscode,创建一个start.bat

@echo off
setlocal enabledelayedexpansion

REM 不显示批处理黑色窗口
if "%~1"=="hide" goto :begin
start mshta vbscript:createobject("wscript.shell").run("""%~0"" hide",0)(window.close) && exit

:begin
REM 设置启动程序名称(需要和批处理位于同一级文件夹)
set "PROGRAM=shanghai.exe"
REM 设置QRes.exe 的路径,下载地址 https://qres.software.informer.com/
set "QRESPROGRAM=QRes.exe"

REM 提取原始分辨率值
for /f "skip=3 tokens=1,2 delims=x," %%a in ('%QRESPROGRAM% /S') do (
    set "WIDTH=%%a"
    set "HEIGHT=%%b"
)

REM 设置运行程序需要的分辨率
set "RUNWIDTH=1024"
set "RUNHEIGHT=768"

REM 设置为运行分辨率
%QRESPROGRAM% /x:%RUNWIDTH% /y:%RUNHEIGHT% > nul

REM 启动程序。-windows 是游戏启动的一个参数,应该是以窗口形式运行,不加这个运行不了
start "" %PROGRAM% -windows

REM 循环等待直到进程结束
:loop
tasklist | findstr /i "%PROGRAM%" > nul
if errorlevel 1 (
    echo close
    goto :end
) else (
    echo running...
    REM 循环间隔2秒,即关闭游戏后最长需等待2秒切换回原始分辨率
    timeout /t 2 > nul
    goto :loop
)

:end
REM 设置为原始分辨率
%QRESPROGRAM% /x:%WIDTH% /y:%HEIGHT% > nul
echo complete

endlocal

start.batQRes.exe 放在《血战上海滩》游戏的根目录,和 shanghai.exe 同级。
然后在 start.bat 上右键-->发送到桌面快捷方式。
如果需要图标,在快捷方式上右键-->属性-->更改图标-->浏览,选择 shanghai.exe 后确定就有了图标。

上一篇‡: 微信分身多开无法打开小程序和公众号文章的解决方法

下一篇‡: 已是最新的文章

最近回复