Windows 11 上还能原样跑的最老图形程序:1992 年的 CD 播放器
来源:blog.enlyth.com — 2026-10
📋 概述
作者想弄清楚一个有点傻的问题:不改代码、不用模拟器,Windows 11 能跑的最老 GUI 程序是什么。64 位 Windows 没有 NTVDM,16 位程序先出局,于是要找 NT 早期的东西。他从早期的 Win32s 发行版里翻出 1993 年 2 月 22 日的 FREECELL.EXE,纸牌能玩,当时已是 33 年 8 个月前的程序。继续挖 Internet Archive 上的 NT 3.1 预发布版:1991 年的构建用的是不兼容现代的可执行格式,1992 年中的构建用 cdecl 调用约定而 Win11 的 API 是 stdcall,参数会被弹两次栈并崩溃。真正更老的是 Build 347 里 1992 年 11 月 16 日链接的 CDPLAYER.EXE——它用系统的 crtdll.dll 绕开了同批程序崩溃的捆绑运行时,而 Win11 的 SysWOW64 里还留着这个 DLL,配一个小 DLL 伪造 CD 驱动器就能真的出声。最后他承认作弊:用 otvdm 跑起 Windows 1.01 里 1985 年 11 月 15 日的 REVERSI.EXE。
🔑 核心要点
- 第一层门槛是位数:64 位 Windows 没有 NTVDM,16 位程序直接出局,只能往 NT 早期找
- 初战成果:1993 年 2 月 22 日的 FREECELL.EXE 在最新 Win11 上可玩,写文时已 33 年 8 个月
- 更早的构建死在两处:1991 年版用不兼容现代的可执行格式,1992 年中版用 cdecl 而 API 是 stdcall,参数被弹两次栈
- 纪录刷新者是 Build 347 里 1992 年 11 月 16 日链接的 CDPLAYER.EXE,同批程序都崩在自带 C 运行时
- 它能活下来靠一个巧合:改用系统的 crtdll.dll,而 Win11 的 SysWOW64 里至今仍带着这个 DLL
- 作弊路线也列了:用 otvdm 跑 Windows 1.01 里 1985 年 11 月 15 日的 REVERSI.EXE,作者自认这算作弊
💡 金句
这感觉确实像作弊,但我觉得它酷到值得写进这篇文章里。
👍 0
👎 0
← 返回 Lobsters 首页