我想从注册表中读取 DirectX 版本。
我在值版本下找到了 HKLM\Software\Microsoft\DirectX 的值。
我的问题:参考Hey Scripting Guy!我的版本“4.09.00.0904”是 9.0c,但 dxdiag 显示 DirectX 11。
如何找到合适的版本?或者有没有办法在没有注册表的情况下解决这个问题?
编辑:我正在使用 Windows 7 Professional x86
我想从注册表中读取 DirectX 版本。
我在值版本下找到了 HKLM\Software\Microsoft\DirectX 的值。
我的问题:参考Hey Scripting Guy!我的版本“4.09.00.0904”是 9.0c,但 dxdiag 显示 DirectX 11。
如何找到合适的版本?或者有没有办法在没有注册表的情况下解决这个问题?
编辑:我正在使用 Windows 7 Professional x86
您无法从注册表中检测到任何高于 DirectX 9 的版本。它根本没有存储在那里。
对于 10 及更高版本,您应该使用 DXDiag 的 COM 接口。
dwDirectXVersionMajor
和dwDirectXVersionMajor
(systemInfo->GetProp( ... ))szDirectXVersionLetter
。不方便?非常。一次编写,包装在一个实用函数中,永不回头。或者复制粘贴其中一种常见的实现。