ARTICLE · 软件编程

微软 Azure CTO 业余时间“整活”:拿 Windows 画图当显示屏跑《毁灭战士》,还支持 Ctrl+Z 一键“复活”

作者:CSDN 来源:CSDN 2026-08-03 17:07 11 分钟 4 阅读 2527 字
开源项目Windows游戏开发系统底层极客文化
一语总结

微软 Azure CTO Mark Russinovich 开源了 DoomPaint 项目,通过 Windows 剪贴板与 OLE 机制,巧妙地将经典游戏《毁灭战士》运行在 Windows 画图软件中。

AI 总结

本文介绍了微软 Azure CTO Mark Russinovich 开发的开源项目 DoomPaint。该项目并非简单的截图循环,而是利用 ViZDoom 引擎在后台运行游戏逻辑,通过 Windows OLE 剪贴板机制将实时渲染的画面同步至 Paint 画布,并使用底层键盘钩子拦截输入,实现了在画图软件中流畅游玩《毁灭战士》的效果。这一实验展示了对 Windows 系统底层机制的深度挖掘,体现了计算机文化中探索系统边界的极客精神。

核心要点
  1. 利用 OLE 剪贴板机制实现高效画面同步。

    项目通过 OLE 机制让 Paint 始终连接数据对象,避免了频繁销毁剪贴板带来的异步错误,实现了稳定的画面刷新。

  2. 通过底层键盘钩子实现输入拦截与重定向。

    为了防止 Paint 将游戏输入误判为绘图操作,项目拦截了按键并交给引擎处理,甚至实现了 Ctrl+Z 撤销游戏进程的荒诞效果。

  3. 技术探索的本质是挑战系统边界。

    该项目展示了如何将游戏引擎、文档编辑机制与剪贴板系统组合,解决一个看似无用但极具技术挑战性的问题。

微软 Azure CTO 业余时间“整活”:拿 Windows 画图当显示屏跑《毁灭战士》,还支持 Ctrl+Z 一键“复活”

本文介绍了微软 Azure CTO Mark Russinovich 开发的开源项目 DoomPaint。该项目并非简单的截图循环,而是利用 ViZDoom 引擎在后台运行游戏逻辑,通过 Windows OLE 剪贴板机制将实时渲染的画面同步至 Paint 画布,并使用底层键盘钩子拦截输入,实现了在画图软件中流畅游玩《毁灭战士》的效果。这一实验展示了对 Windows 系统底层机制的深度挖掘,体现了计算机文化中探索系统边界的极客精神。

文章金句

"

这就是计算机文化最迷人的地方——花费大量时间解决一个完全没有必要解决的问题。但也正是这些“无用”的实验,让开发者不断探索系统边界。

"

你在 Doom 里“死亡”?直接 Ctrl+Z 撤销。时间倒退。重新活过来。