|
|
嘿,屏幕前正在刷手机的各位数码之家坛友,不管你平时是喜欢折腾电脑硬件的DIY发烧友,还是那种系统能开机就懒得更新、对操作系统底层原理完全不感冒的普通用户,今天这个话题我觉得你们都会感兴趣。就在今天,国外知名科技媒体Tom's Hardware发布了一则很有意思的消息,说有一位技术爱好者最近搞了一个挺特别的实验——他想找出那个年代最久远、但至今仍然能够在微软最新的Windows 11操作系统上直接运行的图形界面应用程序。你没听错,不是那种黑乎乎的命令行窗口里敲代码才能跑的程序,而是正儿八经带窗口、带按钮、能用鼠标点的图形界面软件。这位名叫Enlyth的博主经过一番折腾之后,最终锁定的目标是一款来自1992年11月的CD播放器程序,文件名叫CDPLAYER.EXE。这款软件的年龄算下来已经接近34年了,但它居然不需要任何修改,也不需要借助虚拟机或者模拟器之类的东西,直接在Windows 11上面双击就能正常运行。这事儿听起来是不是有点不可思议?要知道,34年在科技行业里那可真是沧海桑田般的变化,那时候Windows 95都还没出生,大多数人还在用DOS系统敲命令,互联网也才刚刚开始萌芽。而今天咱们手里这台运行着Windows 11的电脑,居然还能兼容那个年代的软件,这本身就挺让人感慨的。
Enlyth一开始做这个实验的时候,心里其实已经有了一个大致的预期。因为他很清楚,Windows 11虽然向下兼容性做得相当不错,但有一个硬伤摆在那里——这套系统不支持16位的应用程序。也就是说,所有那些在Windows 3.1或者更早的16位操作系统上开发的软件,拿到Windows 11上面基本上是跑不起来的。所以Enlyth推测,他能找到的最古老的可用程序,大概率应该是出自早期的Windows NT时代,因为Windows NT从一开始就是纯32位的架构,而32位程序的兼容性在后续的Windows版本中被保留得很好。顺着这个思路,Enlyth首先确认了一款名为FREECELL.EXE的程序,也就是咱们熟悉的空当接龙小游戏。这款游戏的编译日期标注的是1993年2月,距今也有33年多了。Enlyth发现,这款游戏在Windows 11上确实可以直接运行,没有任何问题。但这里有个背景需要交代一下,这款空当接龙当年是随着一个叫做Win32s的环境一起分发的。Win32s这个东西,说白了就是一个补丁包或者说扩展层,它的作用是让一部分32位的应用程序能够在16位的操作系统上跑起来,比如Windows 3.1和Windows 3.11。微软最早在1992年10月就推出了Win32s的测试版本,但真正大规模推向市场是在1993年7月。所以空当接龙虽然也能证明Windows 11的兼容性很强,但Enlyth觉得这个发现还不够刺激,他觉得肯定还有更老的家伙藏在某个角落里。
后来,Enlyth在一个技术论坛上收到了一条线索,有人告诉他空当接龙可能就是Windows 11能兼容的最古老的图形界面程序了。但Enlyth显然不是一个容易满足的人,他不甘心就这么轻易地接受这个结论。于是这位老哥开始翻箱倒柜地寻找一些更早期的Windows NT 3.1预发布版本,他觉得那些藏在开发阶段的内部测试版本里,说不定会有意外的收获。果然,功夫不负有心人,Enlyth的目光锁定在了Windows NT 3.1的一个编号为Build 347的内部构建版本上。在这个版本的系统文件里,他找到了一个名为CDPLAYER.EXE的可执行文件,这个文件的链接日期显示的是1992年11月16日。经过测试,这款来自34年前的CD播放器程序确实可以在Windows 11上直接运行,不需要任何修改,也不需要借助任何模拟器。不过这个过程也不是一帆风顺的,因为Enlyth自己的电脑跟现在大多数人的电脑一样,压根就没有安装光驱。你想啊,现在谁还会在台式机或者笔记本上装一个光驱呢?早就被U盘和网络传输给淘汰了。但CDPLAYER.EXE这个程序的设计初衷就是控制光驱播放CD音频光盘的,没有光驱它就等于英雄无用武之地。好在Enlyth找到了一招曲线救国的办法,他往系统里添加了一个名为cdemu.dll的小型动态链接库文件,这个DLL文件的作用是在系统里虚拟出一个光驱设备来。这样一来,Enlyth就能够演示这款诞生于1992年的老古董程序依然能够正常工作,播放CD音频的功能完全没有退化。
说到这里,我自己其实也挺手痒的,想亲自验证一下CDPLAYER.EXE到底还能不能在最新的Windows 11系统上跑起来。我在网上找到了Archive.org网站上托管的一个Windows NT 3.1的多卷压缩包,这个压缩包用的是.ARJ格式,是一种非常古老的压缩格式,现在的年轻人可能都没听说过。但遗憾的是,当我试图从这个压缩包里提取文件的时候,系统报了好几个错误,看来这个老旧的压缩包在保存过程中已经出现了损坏。不过我自己手头倒是有一个通过USB接口连接到电脑上的外置光驱,这个光驱在Windows 11下面是可以正常播放CD音频光盘的。所以我本来想着,如果能顺利拿到CDPLAYER.EXE这个文件,我就可以直接把它丢到系统里,不用额外装什么DLL文件,靠着我的USB光驱就能让它跑起来。可惜压缩包坏了,这个验证步骤暂时没法完成了。
最后,Enlyth还想再试探一下Windows 11兼容性的极限在哪里。他想知道,如果借助一些外部工具的帮助,能不能让那些比CDPLAYER.EXE还要古老的程序也跑起来。这里说的外部工具指的是一个名叫Winevdm的开源项目,这个项目的功能是在64位的Windows系统上模拟一个16位的环境。Enlyth试了一下,他还真成功了。他通过Winevdm项目中的一个组件otvdm,成功地在Windows 11上运行了一款名为REVERSI.EXE的程序。这款黑白棋游戏的编译日期标注的是1985年11月15日,它最初是作为Windows 1.01操作系统的一部分分发的。Windows 1.01那可是微软历史上第一个图形界面的操作系统版本,距今已经大约41年了。Enlyth自己也承认,使用otvdm这种方式来运行程序感觉有点像作弊,毕竟它不是原生兼容的,而是借助了第三方的模拟层。但即便如此,能够在一台2026年的电脑上,双击运行一款1985年的图形界面游戏,这种感觉还是挺魔幻的。
回过头来看看整件事,你会发现微软在操作系统的向下兼容性这块确实下了不少功夫。虽然Windows 11砍掉了对16位应用程序的原生支持,但32位程序的兼容性被保留得非常完好,以至于一款诞生于1992年的CD播放器程序,跨越了整整34年的时光,经历了从Windows NT 3.1到Windows 11之间十几个大版本的更迭,居然还能在今天的硬件上双击即开、正常工作。这种兼容性在科技行业里其实是很少见的,你看看手机领域,两三年前的应用在新系统上闪退那是家常便饭。而Windows能做到这一步,一方面说明微软在系统架构设计上确实有一套,另一方面也反映出Windows庞大的软件生态有多么深厚的历史积淀。对于Enlyth这样的技术爱好者来说,找到这样一款程序就像挖到了一颗时间胶囊,透过那个简陋的界面和有限的功能,你能真切地感受到90年代初期的软件开发环境和用户使用习惯是什么样的。而对于咱们普通用户来说,这个故事也提醒了我们一件事——你电脑里那些看似过时的老软件,说不定哪天换个新系统还能接着用,别急着把它们删掉。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|