方案背景图

报错提示 d3dx9_37.dll 丢失,直接原因是系统里缺 DirectX 9.0c 的旧版组件。先跑一次 dxdiag 确认 DirectX 版本和系统位数,再装一遍微软官方 DirectX 9.0c 运行库,文件会自动补进 System32 和 SysWOW64;还不行就按位数手动复制 DLL 文件并注册,DLL 反复丢失时用 sfc 和 DISM 修一遍底层系统文件,这套流程在 Windows 10/11 上实测可用。

多数情况下这只是系统缺少旧版运行库或游戏目录里 DLL 损坏,硬件本身没有坏,不用急着重装系统或换机器。

适用系统:Windows 10/11;最后更新:2026-08-24。

为什么游戏总提示缺少 d3dx9_37.dll?先弄清这三个原因

很多老游戏和部分移植版游戏启动时,会到系统目录里找 DirectX 9.0c 的组件文件,其中就包括 d3dx9_37.dll。系统没有装 DirectX 9.0c,或者文件被杀毒软件清掉,就会弹出「由于找不到 d3dx9_37.dll,无法继续执行代码」的窗口,游戏直接退出。

d3dx9_37.dll丢失的四个常见原因:缺少运行库、文件损坏、位数放错、DirectX版本不匹配-软领DLL系统修复

报错时先看窗口里带的错误码和文件路径,再对照系统版本处理,能省掉很多盲目的重装和下载。

方法1 用 dxdiag 检查 DirectX 版本与系统位数

动手之前先确认两件事:系统里装的是哪个版本的 DirectX,系统本身是 32 位还是 64 位。这样才能决定是装运行库还是手动补文件。

操作步骤

  1. 按 Win+R 打开运行框,输入 dxdiag 后回车,等待诊断工具加载完成
  2. 在「系统」页签查看 DirectX 版本,显示 DirectX 12 或 11 只代表当前版本,不代表带 9.0c 组件
  3. 打开「设置-系统-关于」,在「系统类型」一栏确认是 x64 还是 x86 处理器
  4. 记下版本和位数,64 位系统优先装 32 位版运行库,因为多数老游戏是 32 位程序

方法2 安装 DirectX 9.0c 运行库

微软官方 DirectX 最终用户运行时会一次性补全 d3dx9_37.dll 等 9.0c 组件,这是最稳的解法,不用去第三方网站找单个文件。

操作步骤

  1. 打开微软官方下载页面,搜索 DirectX End-User Runtime Web Installer,认准 microsoft.com 域名
  2. 下载 dxwebsetup.exe 后双击运行,勾选接受协议,点「下一步」继续
  3. 安装过程联网下载所需组件,装完按提示重启电脑,d3dx9_37.dll 会补进 C:\Windows\System32 和 C:\Windows\SysWOW64
  4. 重新启动游戏验证,窗口还提示缺 DLL 就进方法3手动补文件

装完运行库后,报错从 d3dx9_37.dll 换成 d3dx9_43.dll 这类相近名字,也属于 9.0c 组件没补全,再跑一次安装包即可。

解决d3dx9_37.dll丢失不要用单个文件替换,应安装DirectX9.0c运行库完整补齐-软领DLL系统修复

方法3 手动复制 d3dx9_37.dll 到正确目录

如果官方运行库装完仍然报错,可以从另一台正常的电脑拷贝 d3dx9_37.dll 到当前系统对应目录。关键点是位数目录不能放错。

操作步骤

  1. 在正常的电脑上,64 位系统找 C:\Windows\SysWOW64\d3dx9_37.dll,32 位系统找 C:\Windows\System32\d3dx9_37.dll
  2. 把这个文件拷到当前电脑的相同路径,64 位系统绝不能放进 System32,否则启动游戏时直接报 0xc000007b
  3. 复制前先关闭游戏并暂时退出杀毒软件,避免文件被占用或者被误当成病毒清除
  4. 启动游戏后如果提示 0xc000007b,说明位数目录放反了,去另一个目录重试一次

d3dx9_37.dll复制后提示0xc000007b说明文件放错位数目录,换成SysWOW64即可-软领DLL系统修复

用「软领DLL系统修复」更省事

手动找运行库、对目录、注册文件,前后要花不少时间,嫌麻烦可以直接用软领DLL系统修复的directx修复功能。它自动扫描 DirectX 组件缺失或损坏项,一键下载补齐 d3dx9_37.dll 等 9.0c 文件,免去手动找运行库和注册的折腾。

软领DLL系统修复directx修复功能扫描d3dx9_37.dll缺失并一键补齐-软领DLL系统修复

DLL 缺失往往不止一个文件。修完 d3dx9_37.dll 再报其他 DLL 的情况很常见,再用dll修复功能全盘扫描缺失或损坏的 DLL,把游戏运行所需的运行库组件一起补全,避免修完一个又报下一个。

软领DLL系统修复dll修复功能全盘扫描缺失损坏DLL补齐运行库-软领DLL系统修复

软领是国内老牌软件品牌,有二十年的技术积累,服务过大量普通用户。软件在官网 wyouhua.com 直接下载,安装过程没有捆绑勾选项,软件里可以点客服按钮联系真人,复杂情况有工程师远程协助。

软领DLL系统修复下载

方法4 用 regsvr32 注册 DLL

DLL 文件已经放进系统目录后,再用 regsvr32 手动注册一次,让系统在注册表里登记这个组件,能解决部分程序找不到组件的问题。

操作步骤

  1. 在开始菜单搜索 cmd,右键选择「以管理员身份运行」,弹出用户账户控制窗口时点「是」
  2. 输入 regsvr32 d3dx9_37.dll 并回车,等待系统处理
  3. 弹出「DllRegisterServer 在 d3dx9_37.dll 成功」的提示,说明注册完成
  4. 提示找不到模块时,先执行 cd C:\Windows\SysWOW64 进入对应目录,再重新输入 regsvr32 d3dx9_37.dll
  5. 关闭命令提示符,重启游戏验证

方法5 用 sfc 和 DISM 修复系统文件

同一个 DLL 反复丢失,说明系统组件存储本身可能已经损坏,光补一个文件不是长远办法。用系统自带的 sfc 和 DISM 命令把底层修好,文件才不会再丢。

操作步骤

  1. 右键开始菜单,选择「终端(管理员)」或「命令提示符(管理员)」
  2. 执行 sfc /scannow,等待系统文件完整性扫描完成,扫描过程不要关机
  3. 如果提示「Windows 资源保护无法修复某些文件」,继续执行 DISM /Online /Cleanup-Image /RestoreHealth
  4. DISM 命令会从 Windows 更新服务器下载修复用的文件,需要联网,跑完重启电脑再启动游戏验证

d3dx9_37.dll反复丢失时用sfc扫描再用DISM还原系统组件的修复链路-软领DLL系统修复

常见问题

d3dx9_37.dll丢失怎么解决?

先装一遍 DirectX 9.0c 官方运行库,文件会自动补进系统目录。还报错就按系统位数手动复制文件到 SysWOW64 或 System32,并用 regsvr32 注册。

运行游戏提示由于找不到d3dx9_37.dll无法继续执行代码怎么办?

先看系统位数,64 位系统把文件放 C:\Windows\SysWOW64,32 位系统放 C:\Windows\System32。放对后仍报错,就注册一次 DLL 或运行 sfc /scannow。

d3dx9_37.dll应该放在System32还是SysWOW64?

64 位系统放 C:\Windows\SysWOW64,32 位程序的文件统一收在这里。32 位系统才放 System32。放错位置会出现 0xc000007b 错误。

电脑已经是DirectX 12了,还要装DirectX 9.0c吗?

要装。DirectX 12 是高版本,不包含 9.0c 的 d3dx9 系列文件,老游戏偏要找旧组件,装一遍 9.0c 运行库不影响系统已有的新版本。

d3dx9_37.dll报错0xc000007b是怎么回事?

0xc000007b 表示程序位数和 DLL 位数不匹配。检查文件是放在 SysWOW64 还是 System32,放错就换目录,再重新注册一次。

推荐阅读

VC++ 2017运行库安装失败 卸载干净旧版后先装x64再装x86

系统dll文件损坏怎么修复 3种方法补齐运行库

MSVCR100.dll 丢失怎么办,5种方法修复 VC++ 2010 运行库

相关推荐

绝地求生提示 msvcp140.dll 丢失怎么办,VC++ 运行库5种修复方法

kernel32.dll 找不到入口点怎么办,5种方法修复系统报错

游戏修复运行库 补全DirectX、VC++、.NET和OpenAL后重启验证

软件打不开闪退怎么办?从兼容模式到系统修复依次排查

一键体检是什么意思?给电脑系统组件做一次全面诊断

msvcr71.dll丢失怎么修复 3种方法解决启动失败

d3dx9_37.dll丢失怎么解决由于找不到d3dx9.dllDirectX 9.0c运行库修复软领DLL系统修复
DLL系统修复下载

客服
扫描与客服沟通

回顶部
提示

正在拉起鸿蒙应用市场,如遇无法拉起/无法下载的情况,可使用鸿蒙设备,自行前往应用市场,搜索「Win解压缩」安装。

知道了