在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子键。

最新资讯
美团点评第一季度营收192亿元 同比增长70.1%

美团点评第一季度营收

财报显示,美团第一季度营收192亿元人民币,同比增长70.1%
外交部:美国无端打压科技企业不利于磋商氛围

外交部:美国无端打压科

“我们多次说过,中方的大门是敞开的,但磋商要有意义,必须
大疆公关总监:最重要的是做好内部管理

大疆公关总监:最重要的

大疆公关总监谢阗地表示,除了之前发布的一个官方声明外
2019Twitter中国品牌出海影响力报告:华为大疆等上榜

2019Twitter中国品牌

球社交网络平台Twitter今日在北京举办2019年Twitter出
特斯拉上海超级工厂公开招聘24个职位

特斯拉上海超级工厂公

特斯拉上海工厂最初的生产目标为每周3000辆左右,2020年
OPPO K3发布 将升降式全面屏下放至千元机

OPPO K3发布 将升降式

OPPO今日发布K系列新品K3,采用升降式摄像头,售价1599元
最新文章
win7系统网上观看的视频怎么不显示在C盘?

win7系统网上观看的视

win7系统网上观看的视频怎么不显示在C盘?win7在网页中
Win7怎么从开始菜单中删除文档图标?

Win7怎么从开始菜单中

Win7怎么从开始菜单中删除文档图标?Win7系统中想要删除
Win7系统电源按钮怎么修改为锁定?

Win7系统电源按钮怎么

Win7系统电源按钮怎么修改为锁定?Win7中想要将电源按钮
win7怎么设置屏幕显示和打印效果无色差?

win7怎么设置屏幕显示

win7怎么设置屏幕显示和打印效果无色差?一般我们打印出
win7系统在word文档中做目录的方法教程图解

win7系统在word文档中

word虽然不是一个专业的排版软件,但无论办公还是生活中
win7批处理命令怎么导出ip为文本格式?

win7批处理命令怎么导

win7批处理命令怎么导出ip为文本文件?win7系统ping电脑