作者:admin人气:0来源:网吧系统下载站2016-03-29 09:31:46
之前一直用的是Windows 8,各种无压力。但是8.1Update1出了以后看着各种新功能总觉得不爽,于是果断重装系统安装Windows 8.1 。 网上各种流传Windows 8.1的兼容性很差, 刚装完的时候还很忐忑,结果用了一段时间后发现兼容性也还是可以的,至少常用的Adobe CC套装,VS CB神马的都能正常使用无压力。昨天晚上想打开战地3玩儿一会儿的时候,启动游戏结果弹出了这个玩意儿:
一开始看到这个错误直觉性的感觉是驱动程序的问题,因为我明明用的是独显运行的游戏为什么最后会提示是集显出问题。。。于是官网下载最新驱动安装,重启,结果还是弹出这个坑爹的错误。。。再仔细看看是DirectX的错误,于是想要更新或者修复下DirectX看看行不行,结果Windows8以后的系统DirectX都是集成的,微软也不提供专门的安装包了,这一条路无效。于是祭出Google大神,一番搜索后发现了解决方案一:(不修改语言设置的方法在后面)
到控制面板>>时钟、语言和区域>>区域>>管理 里面,把其中 非Unicode程序的语言改成 英语,美国 ,然后重启
试了一下这个方法,重启之后果然可以进游戏了,但是很多程序的中文字符全都变成了问号。。。这很影响日常使用啊,于是改回来,重启。喜闻乐见的又出现了文章开头的错误。。。于是,第一方案宣告失败。。。不过让我有了另外一个思路,那就是用Locale Emulator这种奇怪的软件,单独把战地的区域语言设置改成英文,方案确实可行但是每次启动游戏都需要用Locale Emulator来启动。。。很是麻烦,于是就继续研究怎么回事。。。经过又一番查找后找到这个博客,日文的看不太懂,还好有google translate帮忙,仔细看了博文之后终于知道这个问题出现的原因了。
战地3、战地4里面,主程序里面Battlefield 3™ 或者 Battlefield 4™ 这一个字符串中的™这一个字符就是导致出现DirectX问题的罪魁祸首。 ™ 这一个字符与系统中非英语的区域语言设置会有冲突,导致DirectX不能正确运行,于是游戏就只能默默地告诉你DirectX出问题了然后不能运行。
知道了问题出在哪里就好解决了,只要稍微编辑下主程序,把里面的™字符删掉就好了~在HEX里面99表示的是™这个字符,我们要把它替换成一个空字符NULL。具体方法如下:
用一个16进制编辑器(比如WinHex,UltraEdit也支持16进制编辑的哦)打开游戏程序文件(BF3.exe或者BF4.exe或者BF4_x86.exe)
如果你的游戏是战地4(BF4.exe BF4_x86.exe)
查找42 61 74 74 6C 65 66 69 65 6C 64 20 34 99 00 然后把里面的99改成00
即把42 61 74 74 6C 65 66 69 65 6C 64 20 34 99 00
改成42 61 74 74 6C 65 66 69 65 6C 64 20 34 00 00
如果你的游戏是战地3(BF3.exe)
查找42 61 74 74 6C 65 66 69 65 6C 64 20 33 99 00 然后把里面的99改成00
即把42 61 74 74 6C 65 66 69 65 6C 64 20 33 99 00
改成42 61 74 74 6C 65 66 69 65 6C 64 20 33 00 00
十六进制数值可能有不止一处,查找的时候需要修改所有的地方。
查找的时候要使用 查找十六进制数值 或者是类似的功能,不要使用查找字符串,不然是找不到所需要的数据的。用WinHex查找的时候记得吧要查找内容中间的空格都去掉(其它的编辑器可能也需要) 否则也是会找不到的哦~
修改完了之后,保存修改过的文件,然后直接运行就可以进入游戏啦~再也不会出现坑爹的DirectX错误了~哇咔咔尽情玩儿吧~
2017-03-24Win10快捷键大全汇总 官方Win10常用快捷键大全介绍
2017-03-23每逢更新就会挂?终极Win10修复大法来了
2017-03-22解决win10 c盘空间越来越小的小技巧
2017-03-21Win10一键关闭所有程序代码 怎么一键关闭所有程序
2017-03-20笔记本用Win10提示未检测到电池怎么办
2017-03-20Win10系统下slmgr命令如何使用
2017-03-20Win10应用商店提示“0x80072EE7”错误怎么解决
2017-03-20Win10关闭自动更新最简单实用方法 Win10关闭自动更新图文教程
2017-03-18Win10手动安装.appx格式UWP应用的方法
2017-03-1864位Win10怎么安装MySQL5.6.35