西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁西西教程操作系統(tǒng) → 修改注冊表項 解決Windows7下玩老游戲花屏的終極辦法

修改注冊表項 解決Windows7下玩老游戲花屏的終極辦法

相關軟件相關文章發(fā)表評論 來源:本站整理時間:2011/1/3 0:10:43字體大。A-A+

作者:佚名點擊:2506次評論:0次標簽: 星際爭霸 花屏 Windows7

  • 類型:手機工具大。2.8M語言:中文 評分:6.8
  • 標簽:
立即下載
在Windows7下玩老游戲,如星際爭霸,會出現(xiàn)花屏的現(xiàn)象。

這個現(xiàn)象的原因是Win7的DirectDraw的256色調(diào)色板的兼容性問題,據(jù)說是默認配置下,程序無法獲取調(diào)色板鎖。

一個簡單的解決方法是殺掉explorer進程,估計這樣就會停止桌面主題修改調(diào)色板。

但是這不是一個一勞永逸的辦法。

經(jīng)過在網(wǎng)上搜索,發(fā)現(xiàn)有這樣一個解決方案。

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是程序的文件名,F(xiàn)lags是常量,而ID是程序的時間戳。

以星際爭霸1.161為例,我們可以使用CFF Explorer打開Starcraft.exe,然后在Nt Headers-File Header中找到TimeDateStamp一項,發(fā)現(xiàn)其值為496589CA。

將該整數(shù)倒過來寫作低字節(jié)優(yōu)先的形式(little-endian),就是ca,89,65,49,這就是注冊表中的ID值。

網(wǎng)上的有解決方案聲稱HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectDraw\MostRecentApplication下的ID記錄的就是上一次運行的游戲的時間戳。

但是我驗證的時候發(fā)現(xiàn)不一致。

通過此方法,星際爭霸已經(jīng)可以在我的機器上正常運行。

此外,還有一種方法是通過Hook掉DirectDraw的函數(shù)來完成的,見

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

不過這個實現(xiàn)是通過軟件方法來進行 索引->顏色 轉(zhuǎn)換的,沒有使用到顯卡加速,在運行星際爭霸時比較卡。

但這種方法只需要在程序文件夾下放入一個ddraw.dll的文件就可以實現(xiàn),比較方便。

也許以后會有人通過DirectX或者OpenGL來模擬DirectDraw的功能,能夠比較完善的解決這個問題。 

    相關評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    第 1 樓 浙江聯(lián)通 網(wǎng)友 客人 發(fā)表于: 2011/12/8 0:51:47
    完全看不懂你寫的是什么~~~

    支持( 0 ) 蓋樓(回復)

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)