解决Windows 8.1下战地3运行时DirectX错误
2016-01-20 11:00
555 查看
今天终于入手了战地3,然而下载完成之后并不能运行,显示如图错误:
看到Driver:Unknow我以为是显卡驱动的问题,但是我知道我的显卡驱动绝壁没有问题,所以应该是其他问题。在网上查了好多资料才知道是”Battlefield 3™“的这个”™“字符导致DirectX出错的。
目前有两种解决的方法:
1.每次在运行游戏前,在”控制面板“--->”时钟、语言和区域“--->”区域“--->"管理"--->"更改系统区域设置"中更改为”英语(美国)“,然后重启电脑:
这种方法在每次游戏前都要更改设置,而且如果打完游戏之后忘记改回来的话,又会导致其他软件乱码,实在是太麻烦了。(我第一次就忘记改回来,结果IDM就乱码了)
2.修改”Battlefield 3™“的这个”™“字符为NULL,用能够编辑16进制的编辑器(我用的是NotePad++结合HexEditor插件)打开战地3主程序bf3.exe,查找42 61 74 74 6C 65 66 69 65 6C 64 20 33 99 00 ,通过查询16进制对应字符表发现,这行数字正好对应的就是“Battlefield
3™”,16进制的”99“对应的是”?“,然后修改99为00并保存,OK,问题解决了,Have Fun!
看到Driver:Unknow我以为是显卡驱动的问题,但是我知道我的显卡驱动绝壁没有问题,所以应该是其他问题。在网上查了好多资料才知道是”Battlefield 3™“的这个”™“字符导致DirectX出错的。
目前有两种解决的方法:
1.每次在运行游戏前,在”控制面板“--->”时钟、语言和区域“--->”区域“--->"管理"--->"更改系统区域设置"中更改为”英语(美国)“,然后重启电脑:
这种方法在每次游戏前都要更改设置,而且如果打完游戏之后忘记改回来的话,又会导致其他软件乱码,实在是太麻烦了。(我第一次就忘记改回来,结果IDM就乱码了)
2.修改”Battlefield 3™“的这个”™“字符为NULL,用能够编辑16进制的编辑器(我用的是NotePad++结合HexEditor插件)打开战地3主程序bf3.exe,查找42 61 74 74 6C 65 66 69 65 6C 64 20 33 99 00 ,通过查询16进制对应字符表发现,这行数字正好对应的就是“Battlefield
3™”,16进制的”99“对应的是”?“,然后修改99为00并保存,OK,问题解决了,Have Fun!
相关文章推荐
- 我是运营,我没有假期
- 每个 Linux 游戏玩家都绝不想要的恼人体验
- 在 Fedora 上使用 Steam play 和 Proton 来玩 Windows 游戏
- Steam 让我们在 Linux 上玩 Windows 的游戏更加容易
- 如何使用 Steam Play 在 Linux 上玩仅限 Windows 的游戏
- 新一代iPad适配应用之游戏篇
- VB实现的《QQ美女找茬游戏》作弊器实例
- C#实现洗牌游戏实例
- C#实现的算24点游戏算法实例分析
- C#实现简单的井字游戏实例
- C++编写简单的打靶游戏
- C++实现基于控制台界面的吃豆子游戏
- C++基于Directx MMX实现的图像灰度转换代码
- 纯javascript实现的小游戏《Flappy Pig》实例
- JavaScript实现俄罗斯方块游戏过程分析及源码分享
- JS小游戏之仙剑翻牌源码详解
- JS小游戏之宇宙战机源码详解
- Android基本游戏循环实例分析
- JavaScript游戏之优化篇
- js实现俄罗斯方块小游戏分享