战地3 4运行游戏DirectX function m_dxgiFactory报错解决办法

战地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查找的时候记得吧要查找内容中间的空格都去掉(其它的编辑器可能也需要) 否则也是会找不到的哦~

战地3懒人版,已修改好的源文件,和完整游戏的BT种子

https://pan.baidu.com/s/1bF2fePIlvjsUI8JuXcKhwA

占地4懒人版,已修改好的源文件

https://pan.baidu.com/s/1GoXCidpuN6XC5MZ9qR4Z-w