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

最新资讯
猎豹移动陷收入焦虑困境 连续四份季报收入大幅下滑

猎豹移动陷收入焦虑困

猎豹移动完成了对海外直播业务LiveMe的剥离,获得一次性
威马借Uber入欧 造车新势力寻路海外

威马借Uber入欧 造车

威马汽车已经与Uber签署意向性协议,威马EX5将出口至包
屡禁不止 教培机构为何难舍预付费

屡禁不止 教培机构为

不只是北京市消协的呼吁,监管部门已经对教培机构的预付
爱奇艺涨价的硬气与软肋

爱奇艺涨价的硬气与软

最近,扛了八年“价格战”的爱奇艺,终于对会员涨价了,连续
欧盟计划提高锂电池产量 2025年实现自给自足

欧盟计划提高锂电池产

据报道,欧盟委员会副主席马罗斯·塞夫科维奇(Maros Sefc
蚂蚁旗下网络小贷公司200亿元ABS融资项目获上交所通过

蚂蚁旗下网络小贷公司

暂缓上市后,蚂蚁集团旗下网络小贷公司的ABS融资项目顺
最新文章
win7怎么批量卸载系统更新补丁KB? win7快速删除系统补丁的技巧

win7怎么批量卸载系统

win7怎么批量卸载系统更新补丁KB?现在win7安装完系统更
如何让Win7操作系统运行如飞? 十小方法让你的Win7系统运行如飞

如何让Win7操作系统运

如何让Win7操作系统加速?今天小编就为大家带来十种方法
win7笔记本电脑怎么连接无线网络 无线网络WiFi的设置教程

win7笔记本电脑怎么连

win7笔记本电脑做完系统后,无线网络会被关闭,原来的无线
Win7怎么修改本地连接MTU值提高网速?

Win7怎么修改本地连接

mtu值通信术语为最大传输单位,mtu值对于网速来说影响较
Win7怎么快速批量将图片垂直旋转90度?

Win7怎么快速批量将图

Win7怎么快速批量将图片垂直旋转90度?Win7中有一批图片
Win7系统怎样将Backup文件夹移动到别的分区

Win7系统怎样将Backup

一些win7用户反映自己的电脑内存变小了,想空出一些空间