如何确定安装了哪个版本的Direct3D?

Dav*_*ben 3 c++ windows direct3d

我们有一个需要使用Direct3D的应用程序.具体来说,它至少需要DirectX 9.0c版本4.09.0000.0904.虽然这应该出现在所有较新的XP机器上,但它可能不会安装在较旧的XP机器上.我如何以编程方式(使用C++)确定它是否已安装?我希望能够向用户提供Direct3D无法使用的信息消息.

小智 5

调用DirectXSetupGetVersion:http://msdn.microsoft.com/en-us/library/microsoft.directx_sdk.directsetup.directxsetupgetversion

你需要包含dsetup.h

以下是该网站的示例代码:

DWORD dwVersion;
DWORD dwRevision;
if (DirectXSetupGetVersion(&dwVersion, &dwRevision))
{
    printf("DirectX version is %d.%d.%d.%d\n",
           HIWORD(dwVersion), LOWORD(dwVersion),
           HIWORD(dwRevision), LOWORD(dwRevision));
}
Run Code Online (Sandbox Code Playgroud)