在Windows7下玩老游戏,会出现花屏的现象。这个现象的原因是Win7的DirectDraw的256色调色板的兼容性问题,据说是默认配置下,程序无法获取调色板锁。

在Windows7下玩老游戏,会出现花屏的现象。
这个现象的原因是Win7的DirectDraw的256色调色板的兼容性问题,据说是默认配置下,程序无法获取调色板锁。
一个简单的解决方法是杀掉explorer进程,估计这样就会停止桌面主题修改调色板。
但是这不是一个一劳永逸的办法。
方法一:
经过在网上搜索,发现有这样一个解决方案。
DirectDraw有一个注册表项,用于开启兼容模式,位于
HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftDirectDrawCompatibility
(Win7 x64)
HKEY_LOCAL_MACHINESOFTWAREMicrosoftDirectDrawCompatibility
(Win7 x86)
在这个注册表项下添加需要启用兼容模式的exe,如:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftDirectDrawCompatibilityStarCraft116]
"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_MACHINESOFTWAREWow6432NodeMicrosoftDirectDrawMostRecentApplication下的ID记录的就是上一次运行的游戏的时间戳。
但是我验证的时候发现不一致。
通过此方法,星际争霸已经可以在我的机器上正常运行。
此外,还有一种方法是通过Hook掉DirectDraw的函数来完成的,见
http://sol.gfxile.net/ddhack/
不过这个实现是通过软件方法来进行 索引->颜色 转换的,没有使用到显卡加速,在运行星际争霸时比较卡。
但这种方法只需要在程序文件夹下放入一个ddraw.dll的文件就可以实现,比较方便。
也许以后会有人通过DirectX或者OpenGL来模拟DirectDraw的功能,能够比较完善的解决这个问题。 

 方法二:
如果你用优化大师优化Windows7过关机速度,那么很不幸你的屏幕将会闪,也就是点文件夹的时候,作为背景的桌面会跳出来闪一下,同时左上角会出现notresponding。  

解决方法:  删除HKEY_USERS.DEFAULTDESKTOP下的HUNGAPPTIMEOUT以及WAITTOKILLAPPTIMEOUT子键

删除HKEY_CURRENT_USERHKEY_CURRENT_USERControlPanelHKEY_CURRENT_USERControlPanelDesktop下的HUNGAPPTIMEOUT,WAITTOKILLAPPTIMEOUT,WAITTOKILLSERVICETIMEOUT子键。

最新资讯
马云最骄傲的,是阿里已不需要他

马云最骄傲的,是阿里已

中国互联网巨头,大多胜在成事,弱在建制。
李飞飞回斯坦福教书 她给Google留下了重要的技术资产

李飞飞回斯坦福教书

在很多人看来,李飞飞在Google的这两年,也是Google 2010
苹果进军电影行业:购买两部影片版权

苹果进军电影行业:购买

虽然苹果一直在积极授权电视内容,但在进军电影行业的过
郭明錤:新iPhone不配备USB-C接口 LCD版量产推迟

郭明錤:新iPhone不配备

郭明錤(Ming-Chi Kuo)今日发布报告,对苹果即将发布的新
贾跃亭昔日心血遭贱价拍卖 乐视电视恐将易主

贾跃亭昔日心血遭贱价

贾跃亭乐视控股旗下持有的核心股权资产——乐融致新(原
LCD版iPhone或命名为iPhone Xr 初期供货有限

LCD版iPhone或命名为i

彭博社今日援引知情人士的消息称,苹果公司(以下简称“苹
最新文章
win7批处理命令怎么导出ip为文本格式?

win7批处理命令怎么导

win7批处理命令怎么导出ip为文本文件?win7系统ping电脑
Win7系统中通过ati显卡调节屏幕大小的方法

Win7系统中通过ati显

这篇文章主要介绍了Win7系统中通过ati显卡调节屏幕大
win7系统DNS Server设置不符怎么解决?

win7系统DNS Server设

win7系统DNS Server设置不符怎么解?win7系统设置dns总
win7能开卓越性能么? win7卓越性能设置方法

win7能开卓越性能么?

win7能开卓越性能么?win7系统中想要使用卓越性能,该怎么
Win7检测硬盘提示ultra dma crc错误计数怎么办?Win7检测硬盘出现错误解决方法

Win7检测硬盘提示ultr

电脑硬盘是有一定的寿命的,当一台电脑使用一两年之后硬
Win7蓝牙设备如何连接小爱音箱?小爱音箱mini通过蓝牙连接电脑教程

Win7蓝牙设备如何连接

小爱mini音箱是一款人工智能音响,它是小米在去年推出的