在Windows7下玩老游戏花屏的解决办法

地狱门神

在Windows7下玩老游戏,如星际争霸,会出现花屏的现象。

这个现象的原因是Win7的DirectDraw的256色调色板的兼容性问题,据说是默认配置下,程序无法获取调色板锁。

一个简单的解决方法是杀掉explorer进程,估计这样就会停止桌面主题修改调色板。

但是这不是一个一劳永逸的办法。

经过在网上搜索,发现有这样一个解决方案。

DirectDraw有一个注册表项,用于开启兼容模式,位于

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectDraw\Compatibility

(Win7 x64)

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectDraw\Compatibility

(Win7 x86)

在这个注册表项下添加需要启用兼容模式的exe,如:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectDraw\Compatibility\StarCraft116]
"Name"="Starcraft.EXE"
"ID"=hex:ca,89,65,49
"Flags"=hex:00,08,00,00

(Win7 x64)

就可以使得对应的程序运行于兼容模式下。

这三个键值中,Name是程序的文件名,Flags是常量,而ID是程序的时间戳。

以星际争霸1.161为例,我们可以使用CFF Explorer打开Starcraft.exe,然后在Nt Headers-File Header中找到TimeDateStamp一项,发现其值为496589CA。

将该整数倒过来写作低字节优先的形式(little-endian),就是ca,89,65,49,这就是注册表中的ID值。

网上的有解决方案声称HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectDraw\MostRecentApplication下的ID记录的就是上一次运行的游戏的时间戳。

但是我验证的时候发现不一致。

通过此方法,星际争霸已经可以在我的机器上正常运行。

此外,还有一种方法是通过Hook掉DirectDraw的函数来完成的,见

http://sol.gfxile.net/ddhack/

不过这个实现是通过软件方法来进行 索引->颜色 转换的,没有使用到显卡加速,在运行星际争霸时比较卡。

但这种方法只需要在程序文件夹下放入一个ddraw.dll的文件就可以实现,比较方便。

也许以后会有人通过DirectX或者OpenGL来模拟DirectDraw的功能,能够比较完善的解决这个问题。

首先感谢国家
感谢暴雪和暴雪官方的ftp
感谢“地狱门神”所写的《在Windows7下玩老游戏花屏的解决办法》“http://www.cnblogs.com/Rex/archive/2011/01/02/1924327.html”
感谢NTCore

所有的reg文件都非常简单,其中的scbw116_x86.reg和scbw116_x64.reg都来自于暴雪的官方ftp:“http://ftp.blizzard.com/pub/starcraft/”,
其他的reg文件是根据暴雪的官方版本略加修改得到的,主要修改的是其中的“ID”,为了得到这个“ID”,使用了NTCore的免费工具:
“CFF Exporer VII”。

在Windows7下玩老游戏花屏的解决办法相关推荐

  1. 关于windows7和帝国时代2花屏的解决办法

    各位朋友你们好,我是帝国时代2的爱好者,刚买笔记本玩帝国时代2却花屏,试过了网上很多方法未能解决,经过努力终于找到答案,不复杂,我描述得很详细,不懂可以留言 在游戏目录下创建个文本文档内容为: tas ...

  2. 玩3D游戏花屏显卡测试过没有问题?网站测试咋测才能减少Bug

    在上一篇文章中,小编为您详细介绍了关于<如何更改显卡的刷新频率?台式电脑64位 显卡N卡 GTX680 用驱动精灵更新 过后 屏幕分辨率只有800X60070>相关知识.本篇中小编将再为您 ...

  3. 解决笔记本Win7系统下玩单机游戏全屏时两边的黑框现象

    解决笔记本Win7系统下玩单机游戏全屏时两边的黑框现象 第一步,启动"注册表": 在"运行"框中输入命令"regedit或regedit.exe&qu ...

  4. Ubuntu18.04 使用U盘装机时花屏和开机时花屏的解决办法

    Ubuntu18.04 使用U盘装机时花屏和开机时花屏的解决办法 问题描述 具体步骤 1. 用U盘装系统 2. 开机 参考文章 问题描述 有一台主机,需要安装Ubuntu18.04系统. 1.用启动盘 ...

  5. PPStream、PPlive等播放器花屏之解决办法

    PPStream.PPlive等播放器花屏之解决办法 解决方法1:打开"Windows Meida Player"播放器,找到"工具"->"选项 ...

  6. Win 7下玩星际(花屏与联机IPX协议问题解决)提供下载

    星际花屏的解决方法  首先对着星际图标点右键,然后选中属性-兼容性,然后把256色和640*480打上勾.接着再买次打星际之前先对着屏幕点右键(主屏幕空白处即可),打开屏幕分辨率,然后什么都不用做,直 ...

  7. 帝国时代2 在WIN7下花屏的解决办法

    建立一个 age2.cmd 文件,里面是 taskkill /F /IM explorer.exe age2.exe start explorer.exe 然后直接运行这个   empires2.cm ...

  8. 关于会声会影导入视频出现卡顿花屏的解决办法

    作为一个业余视频剪辑者,刚刚入门的我发现: 当我们把原始素材直接导入会声会影的时候,会出现卡顿.花屏等一系列问题,确实是让人头疼,找了很多帖子方法才解决问题. 解决方法: 1.安装格式工厂软件 2. ...

  9. 安装ubuntu出现花屏_在Ubuntu 18.04系统中挂起,再唤醒就出现花屏的解决办法

    如果你在Ubuntu 18.04系统中按电源键挂起,然后唤醒后就出现花屏现象,请用下面介绍的办法操作,经实测,可以解决花屏问题.所使用的系统版本及设备如下图: 背景 安装Ubuntu 18.04系统后 ...

最新文章

  1. Atitit。激活某个程序的api attilax总结
  2. NLP系列学习:前向算法和后向算法
  3. cmd进入python环境_python2和python3同时存在,如何CMD中进入不同的环境
  4. 李书福辞任吉利新能源董事长
  5. 5.18下午 口语课 阅读
  6. Linux添加相对库路径,Linux C编程(8) 使用相对路径加载动态库-rpath和$ORIGIN
  7. 一篇真正教会你开发移动端页面的文章(一)
  8. 异常处理1:复习、异常概述和异常体系结构
  9. 全网首发:doubango提示text relocations错误的解决办法
  10. 汽车仪表指示灯详细介绍
  11. 为什么拉格朗日对偶函数一定是凹函数(逐点下确界)
  12. Android 音乐播放器SD卡本地播放器实现
  13. Excel技巧之插入图表
  14. 【100%通过率】华为OD机试真题 Java 实现【处理器问题/ 高性能AI处理器】【2022.11 Q4 新题】
  15. 【Xshell免费版,不用去找破解(ftp也一样)】
  16. Hibernate 3.6.10 jar包下载链接
  17. ThreadPool 线程池的作用
  18. 怎么做个修改ip服务器,自己做一个服务器怎么固定ip地址
  19. CHP城市猎人系统开发
  20. SQLITE sql 快速搜索

热门文章

  1. Visual.C#.2010从入门到精通].(Visual.C#.2010.Step.By.Step)读书笔记 属性、字段(十四)
  2. 家用工具套装_家用工具套装种类多,这套实用的请收好
  3. AutoCAD VBA 离散高程点应用
  4. 《打造Facebook》读后感
  5. 计算机辅助公差技术最新成果,计算机辅助尺寸公差设计技术研究
  6. 介绍CK+数据库的论文翻译
  7. [使用疑问] 芒果使用问题汇总
  8. 被深度学习框架逼疯的N大瞬间!何解?
  9. php fwrite 数组,浅析php fwrite写入txt文件的时...-发现一个诡异的bug,不知何解...-php折线图 布局图 - 侯志凯_169IT.COM...
  10. 注册资本认缴制年限是如何规定的