一、这个提示到底是什么意思
Cannot focus a disabled or invisible window 直译就是“无法把焦点交给一个被禁用或看不见的窗口”。放到传奇世界单机环境里,不是存档坏了也不是数据库崩了,而是程序启动过程中,引擎想激活某个还没加载完、已经被关掉、被系统隐藏或者被权限禁用的窗口/控件,系统直接抛了这个错。
常见触发点就几个:
• 服务端黑窗口(DBServer、LoginGate、GameGate、M2Server)没按顺序起完你就点登录器
• 某个黑窗口被你手滑关了,其他窗口还在跑,句柄错乱
• 控制器没管理员权限,Win10/Win11把后台窗口判定成“禁用”
• 客户端全屏/窗口模式切换时,DPI缩放和高分屏把窗口渲染丢了
• 输入法、录屏、Overlay、辅助工具在抢焦点
• 路径带中文或空格,导致部分窗口资源加载不出来
按下面顺序一层层试,不用重下版本。
二、第一步:清干净再重起(解决80%临时冲突)
1. 关掉报错弹窗。
2. Ctrl+Shift+Esc 打开任务管理器,把下面这些全结束:
• 服务器控制器(GameCenter.exe 或类似名)
• DBServer、LoginGate、GameGate、M2Server 等黑框
• 游戏客户端(mir.exe / game.exe / 登录器.exe)
• 任何名字带“网关”“引擎”“world”“mir”的进程
3. 顺手关掉桌面多余软件:输入法悬浮、录屏、微信悬浮窗、显卡录制、Steam/Discord覆盖层、各类内存挂和脚本工具。
4. 重启一次电脑。别嫌麻烦,这步是把系统里残留的窗口句柄和焦点状态全清空,很多“时好时坏”的报错重启就好。
5. 电脑起来后什么软件都别开,直接进服务端目录。
三、第二步:用管理员身份按正确顺序起服务端
1. 找到服务器控制器(一般是 GameCenter.exe 或 控制器.exe)。
2. 右键→属性→兼容性:
• 勾“以管理员身份运行此程序”
• 勾“禁用全屏优化”
• 兼容模式选 Windows 7 或 Windows XP SP3
• 高DPI设置里勾“替代高DPI缩放行为”,选“应用程序”
3. 应用确定,右键控制器选“以管理员身份运行”。
4. 点“启动游戏服务器”,盯着黑窗口一个个弹出来:
• 数据库网关先起
• 登录网关
• 游戏网关
• M2主引擎最后
5. 每个黑窗口都等它刷完日志、不再滚动了,再操作下一步。
6. 所有黑窗口只能最小化,绝对不能点右上角×。关掉任何一个,其他窗口的通信和焦点就乱了,再次点登录器必报这个错。
7. 如果误关了其中一个,不要只补起那个,把控制器整个关掉回到第二步重来。
四、第三步:客户端/登录器同样加权限和兼容
游戏客户端和登录器本体也要改一遍属性:
1. 右键 mir.exe / game.exe / 登录器.exe→属性→兼容性。
2. 管理员运行、禁用全屏优化、Win7兼容模式、DPI替代全勾上。
3. 启动方式优先用窗口模式,别一上来就全屏。
• 如果登录器有设置项,显示模式选“窗口”或“窗口化全屏”
• 分辨率手动定成 1024x768 或 1280x720 先测试,别用系统原生2K/4K
4. 进游戏正常后再慢慢往上调分辨率,别一开始就拉满。
五、第四步:处理高分屏和DPI缩放
Win10/Win11高分屏是这类老引擎的重灾区。
1. 桌面右键→显示设置,先把缩放改成 100%(测完再调回去)。
2. 游戏主程序属性→兼容性→更改高DPI设置:
• 勾“替代高DPI缩放行为”
• 下拉选“应用程序”
3. 显卡控制面板里把这个游戏exe加进独立配置:
• N卡:管理3D设置→程序设置→添加exe→缩放模式选“全屏”
• A卡:显卡软件里关掉Radeon Boost、抗延迟、图像锐化再测
4. 多显示器的话,先把副屏拔了或禁用,主屏设成唯一显示,进游戏稳了再接回来。
六、第五步:关掉抢焦点的东西
下面这些软件会在游戏启动瞬间插一脚,导致窗口刚创建就被抢焦点,然后引擎去找“看不见的窗口”:
• 微软拼音/第三方输入法:进游戏前切到“英文(美国)”键盘
• Discord覆盖层、Steam Overlay:设置里全关
• NVIDIA GeForce Experience 游戏内覆盖:临时关闭
• 各类录屏、推流、帧数显示(MSI Afterburner、小飞机)
• 杀毒软件实时防护:把服务端和客户端目录加白名单
• 按键类、宏类、内存修改工具:测试阶段先全退
七、第六步:检查路径和文件权限
1. 服务端路径必须纯英文,别放“D:\我的游戏\传奇世界”这种:
• 正确:D:\WolServer 或 D:\MirServer
• 别带空格、中文、&、#、括号
2. 客户端目录同理,纯英文。
3. 服务端根目录右键→属性→安全:
• 给 Users 用户组开“完全控制”
• 杀软可能把 M2Server.exe、网关exe、登录器当成风险文件删了,去杀软隔离区看一眼,恢复并加信任
4. 确认 Mir200 下核心文件没缺:
• M2Server.exe
• 各网关exe
• 登录器对应补丁
缺了就从原压缩包重新解压,不要只补一个文件。
八、第七步:配置文件里顺手核一下
虽然这个报错主要在窗口层,但配置错了也会让某个子窗口起不来。
1. 打开 !Setup.txt 或引擎配置器:
• 端口别冲突(7000、7100、7200这一组,改一套就全改一套)
• 网关地址填 127.0.0.1
2. 登录器配置器里:
• 单机模式勾上
• 微端关掉
• 客户端目录指向正确
3. 如果用了Lua/脚本热加载,先临时把自定义UI脚本、弹窗脚本注释掉,用原版空环境进一次游戏。能进就说明是你自己加的NPC界面脚本在窗口没初始化时调用了控件焦点。
九、第八步:还报错的硬排查顺序
按这个清单挨个过:
1. 控制器是不是管理员起的——不是就重来
2. 黑窗口是不是全在——少一个就全关重起
3. 启动顺序是不是数据库→网关→M2——乱序就重来
4. 兼容模式和高DPI有没有改——没改先改
5. 显示缩放是不是100%——不是先改100%
6. 输入法和Overlay关没关——没关先关
7. 路径是不是纯英文——不是先搬盘
8. 杀软有没有误删exe——查隔离区
9. 换窗口模式进游戏——别用全屏
10. 换低分辨率进游戏——1024x768先验证
十、进游戏后的稳定动作
能正常进游戏了,别急着拉满画质:
1. 先在窗口模式下玩一会,确认不弹错。
2. 退出游戏,把分辨率调到 1280x720 或 1366x768。
3. 再试“窗口化全屏”。
4. 最后才试独占全屏。
5. 每次只改一项,改完重开验证,方便定位是哪一步引起的。
6. 把控制器、网关、客户端、登录器的兼容性设置存成固定配置,以后直接右键管理员启动,别双击就开。
十一、几种典型场景对照
场景A:一点登录器就弹这个错
黑窗口没起完,或者控制器没管理员权限。关掉全部,按第二步重来。
场景B:选完角色进游戏瞬间弹错
客户端全屏/DPI冲突。切窗口模式、降分辨率、关全屏优化。
场景C:切出去看一眼微信,切回来就弹错
输入法或Overlay抢焦点。切英文键盘,关Discord/Steam覆盖。
场景D:改了NPC脚本之后开始报
脚本里在窗口未显示时调用了控件焦点。把新加的界面脚本先屏蔽,原版能进再逐步放回来。
场景E:重启电脑前怎么都报,重启后好了
典型句柄残留,不用动版本,清进程+重启解决。
十二、不用重装版本的底线
这个报错基本都不用重下服务端。优先顺序永远是:
清进程 → 重启 → 管理员起控制器 → 等黑窗全起 → 窗口模式低分辨率 → 关Overlay和输入法 → 查路径权限 → 最后才动配置和脚本。
真要备份的话,只备份 Mir200、Data、Config、登录器配置这几个目录就行,改崩了回滚快。
按上面走一遍,绝大多数 Cannot focus a disabled or invisible window 都能消掉。要是清完进程重启、管理员顺序起完还报,重点看是不是自己加的UI脚本或登录器补丁跟当前系统不兼容,换原版登录器先验证一次就清楚了。
传奇世界单机Cannot focus窗口报错完整排查修复
来源:
作者:
点击:

