暗黑2吧 关注:114,644贴子:1,628,614
  • 21回复贴,共1

解决WIN7 64位运行暗黑2 1.11B(大箱子+全图HM)花屏问题的方法!

只看楼主收藏回复

解决WIN7 64位运行暗黑2 1.11B(大箱子+全图HM)花屏问题的方法!
首先奉上原贴地址:http://www.cnblogs.com/Rex/archive/2011/01/02/1924327.html
此贴是帖主解决星际争霸的方法,我拿来套用了一下暗黑2 1.11B 打过大箱子10.0和全图补丁HM的游戏文件,实测有效!!!
下面奉上花屏原因及解决方法:
在Windows7下玩老游戏花屏的解决办法
原帖:地狱门神
在Windows7下玩老游戏,如暗黑2,会出现花屏的现象。
这个现象的原因是Win7的DirectDraw的256色调色板的兼容性问题,据说是默认配置下,程序无法获取调色板锁。
一个简单的解决方法是杀掉explorer进程,估计这样就会停止桌面主题修改调色板。
但是这不是一个一劳永逸的办法。
经过在网上搜索,发现有这样一个解决方案。
DirectDraw有一个注册表项,用于开启兼容模式,位于
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectDraw\Compatibility
(Win7 x64)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectDraw\Compatibility
(Win7 x86)(注册表路径没错,但本人64位WIN7旗舰版,所以没有实测32位的,但是已帮大家写好32位的注册文件,下面会看到)
在这个注册表项下添加需要启用兼容模式的exe,如:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectDraw\Compatibility\Diabol]
"Name"="D2Loader.exe"
"ID"=hex:5C,27,9F,3F
"Flags"=hex:00,08,00,00
(此为Win7 x64的路径)
就可以使得对应的D2Loader程序运行于兼容模式下。
这三个键值中,Name是程序的文件名,Flags是常量(固定不变),而ID是程序的时间戳。
以D2Loader为例,我们可以使用CFF Explorer(绿色软件,地址:http://pan.baidu.com/s/1gf1HAc7)打开D2Loader.exe,然后在Nt Headers-File Header中找到TimeDateStamp一项,发现其值为496589CA。
将该整数倒过来写作低字节优先的形式(little-endian),就是ca,89,65,49,这就是注册表中的ID值。
网上的有解决方案声称HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectDraw\MostRecentApplication下的Name就是上一次运行的EXE文件,ID记录的就是上一次运行的游戏的时间戳(其实就是同目录下的Name的时间戳)。
原帖中说有问题,可能是忽视了真正运行的EXE文件。我发现我打过大箱子10.0和全图HM后的1.11B,双击D2Loader-1.11b.exe后,实际最后运行的是游戏根目录下的Game.exe文件,而不是D2Loader-1.11b.exe!所以我们要关闭除暗黑2以外的所有软件,以防有不必要的干扰,然后运行游戏,再查看HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectDraw\MostRecentApplication中的name名字,他就是你需要记住并修改的值!!!
以我实际找到的程序为例:
把[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectDraw\Compatibility\Diabol]中的值对应修改成下面的值(Flags不用修改)
"Name"="Game.exe"
"ID"=hex:A8,8C,02,43
"Flags"=hex:00,08,00,00
改成这样就可以了!
----------------------以上就是花屏的故障原因和解决思路--------------------
----------------------下面就是具体步骤方法-------------------------------------
对于非电脑小白,可以自行修改注册表;(友情提示:改前一定要备份,或者截图!)
如果不会改注册表的可以用我写的注册表文件进行注册,如果杀软报毒,选择信任!(我已离开360等一系列全家桶好多年,因为经常误报我自己的程序!)
干脆把五个文件的时间戳都送上来吧,可以手动改:
"Name"="diablo.exe"
"ID"=hex:AB,92,C3,32
"Name"="Diablo II.exe"
"ID"=hex:E7,81,13,3B
"Name"="D2Loader.exe"
"ID"=hex:5C,27,9F,3F
"Name"="D2Loader-1.11b.exe"
"ID"=hex:AA,BE,94,45
"Name"="Game.exe"
"ID"=hex:A8,8C,02,43
注册表文件包:http://pan.baidu.com/s/1boz7AUF
内涵1.11B中diablo、diablo Ⅱ、D2Loader、D2Loader-1.11b、Game五个文件的时间戳注册表(32、64的都有),大家可通过上面讲的,查看最后一次运行的EXE文件的注册表值来确定你们用哪个文件!(①)
然后就是对D2Loader-1.11b.exe文件或是他的快捷方式进行兼容设置,右键文件-属性-兼容性:在兼容模式下-勾选以兼容模式运行这个程序;在设置里勾选禁用视觉主题和禁用桌面元素;(推荐勾选以管理员模式运行此程序,以防有些垃圾系统自带的用户权限不够)确定。(②)
再设置有些根目录下的D2VidTst.exe:
运行D2VidTst.exe,点击执行测试,等待测试结束,点选DirectDraw(2D),ok!(因为我选3D会报错,we go big error here,不知道是不是和补丁有关- -!所以我选择2D模式!)(③)
完成①②③步,就大功告成了!
通过此方法,暗黑2 1.11B+大箱子10.0+全图HM的版本 已经可以在我的WIN7 64位 旗舰版 1920*1080桌面分辨率的机器上以800*600分辨率全屏无黑边正常运行,已经运行1小时了,没有花屏。中间切出来双开也没问题!。
--------------------以下方法我并没有尝试-------------------------------------------
此外,还有一种方法是通过Hook掉DirectDraw的函数来完成的,见
http://sol.gfxile.net/ddhack/
不过这个实现是通过软件方法来进行 索引->颜色 转换的,没有使用到显卡加速,在运行星际争霸时比较卡。
但这种方法只需要在程序文件夹下放入一个ddraw.dll的文件就可以实现,比较方便。
也许以后会有人通过DirectX或者OpenGL来模拟DirectDraw的功能,能够比较完善的解决这个问题。
--------------------有兴趣的朋友可以试试-------------------------------------------
大年初二晚上无意间找到的方法,实验总结了几个小时,已经是初三凌晨了!希望能给大家带来惊喜!2017新年快乐!


IP属地:黑龙江1楼2017-01-30 05:53回复
    吧主,这个可以加精不?


    IP属地:黑龙江3楼2017-01-30 05:57
    回复
      各位窗口化的同学、各位虚拟机里跑的同学、各位双系统的同学、你们还不来试试这个win7 2D模式 全屏的方法么?
      用好了别忘了回来顶一下!
      好东西不能沉!要让更多的玩家看到!


      IP属地:黑龙江4楼2017-01-30 06:01
      回复
        太长 不看


        星座王
        点亮12星座印记,去领取
        活动截止:2100-01-01
        去徽章馆》
        IP属地:山东5楼2017-01-30 06:10
        收起回复
          帖子前面大部分是讲问题原因,伸手党可以直接掠过看方法,就三步,第一步选用需要的注册表文件双击运行,第二部设置兼容性,第三部选择2D模式。就OK了!
          之前在很多帖子上看到有跟我一样问题的朋友,希望能帮到需要的人!


          IP属地:黑龙江7楼2017-01-30 10:22
          回复
            没有1.13 32位系统的吗


            IP属地:广西9楼2017-02-27 21:07
            收起回复
              运行游戏出现什么什么什么是什么000005咋办


              IP属地:内蒙古来自手机贴吧10楼2017-03-01 23:02
              收起回复
                恩,辛苦了


                来自Android客户端11楼2017-03-21 22:41
                回复
                  楼主,我是win10系统,重装系统和游戏客户端的时候,能用d2d模式进游戏,高清补丁非常流畅,重启电脑后,就只能d3d模式了,用游戏里那个测试工具选择2d后,进游戏仍旧是d3d,用高清补丁非常卡,请问,如何强制游戏一直使用2d模式呢?注册表里有修改的办法吗


                  IP属地:江西12楼2017-03-25 08:24
                  收起回复
                    不忘初心,方得始终。选择1.14d吧,告别一切辅助,且新系统完美运行!


                    IP属地:湖北来自iPhone客户端16楼2017-03-30 23:49
                    回复
                      顶一下


                      IP属地:黑龙江17楼2017-12-14 21:45
                      回复
                        我那时也花瓶,看了个攻略,属性那里怎么改的,糊里糊涂结果还弄好了……


                        IP属地:广东来自iPhone客户端18楼2017-12-14 23:11
                        回复