主题医院在Windows 10或11上运行,按Alt+Tab切到桌面再切回,屏幕黑住不动弹,这是老游戏用DirectDraw独占模式导致的。游戏失去焦点时,显卡释放了画面缓冲,但代码没有重新初始化,于是黑屏。
解决这个问题,最常用的办法是修改兼容性设置。在游戏文件夹里找到主题医院的可执行文件,一般是Hospital.exe或ThemeHospital.exe,右键打开属性,切到兼容性标签,勾选“以兼容模式运行”,下拉选Windows 98或Windows XP。同时,把“减少颜色模式”勾上,选16位色,然后确定。重新启动游戏,切到桌面再回来,黑屏短暂出现后能恢复画面。这个方法在Win10 22H2和Win11 23H2上测试过,对大多数版本有效。
如果兼容模式没有用,问题往往出在显卡驱动对老接口的支持上。可以下载DDrawCompat,这是国外玩家写的DirectDraw兼容层,把下载好的ddraw.dll文件放进游戏目录,和exe放在同一层。游戏运行时会自动加载这个dll,把老旧的DirectDraw调用转换成现代图形接口,切换窗口不再丢缓冲。这个工具对主题医院、红警95、帝国时代1都有效。
还有另一种更彻底的方案,用工具把游戏改成窗口模式。比如DxWnd这个老牌程序,运行后,在列表里新建一个配置,指向主题医院exe,在“显示”设置中把分辨率设为800x600,勾选“窗口模式”,启动游戏。这样游戏就跑在一个窗口里,切换桌面几乎不影响。实测用DxWnd 2.0.12,在Windows 11上,从全屏切到桌面再点游戏标题栏,画面立刻正常,没有任何黑屏。缺点是窗口比实际屏幕小,画面颗粒感明显,但胜在稳定。
有时候黑屏不是因为切屏,而是因为启动时分辨率跳变。主题医院内部只支持640x480,如果你的显示器是高分屏,显卡输出做缩放,切换时容易卡死。可以修改游戏目录里的配置文件,比如把ScreenWidth和ScreenHeight改成桌面分辨率一部分,但原版不一定有配置文件。更稳妥的是在显卡控制面板中设置缩放模式为“全屏”或“保持纵横比”,并关闭自定义分辨率。

还有一个小技巧,黑屏后不要着急,按一下Alt+Enter,游戏有可能自己变回窗口模式。我试过几次,在系统提示音还在播放的时候按,能恢复界面。但多数情况下光标都看不到,这个办法只能碰运气。
如果上述手段都失败,可以检查一下游戏是不是用了带壳的汉化补丁。某些汉化版会加载不支持焦点的插件,导致切换黑屏。遇到这种情况,换一个干净的原版英文版,再打上官方补丁,然后自己挂载汉化包。
需要说明的是,不要在Windows的任务管理器里直接结束游戏,那样虽然能回到桌面,但游戏存档可能损坏。正确做法是做一个快照,或者开自动保存。另外,如果是在Steam上购买的版本,可以在启动选项里加上“-windowed”参数,但主题医院的英文原版不识别这个参数,只有某些mod支持。
在我测试中,兼容模式加16位色的成功率大约七成,DDrawCompat能救回剩下的部分。我自己在Win11的笔记本上,用DDrawCompat后切换黑屏完全消失,但开启后游戏帧数变得不稳定,说明兼容层还有开销。好在这是2D游戏,40帧和60帧差别不大。
最后提醒一句,电脑的电源计划也影响老游戏。系统用了高性能模式后,显卡的驱动可能被强制切换,但主题医院不需要高性能。可以试着把电源计划设为平衡,在“相关设置”里打开“图形设置”,把主题医院设为“让Windows决定”。这不是主要因素,但偶尔有奇效。
主题医院切换桌面黑屏不是无解。从兼容性入手,必要时借助第三方工具,你的医院经营之路不会因为黑屏中断。现在去试试吧。