我们有一个需要使用Direct3D的应用程序。具体来说,它至少需要DirectX 9.0c版本4.09.0000.0904。尽管所有较新的XP计算机上都应存在此文件,但较旧的XP计算机上可能未安装此文件。如何以编程方式(使用C++)确定是否已安装?我希望能够向用户提供一条信息消息,指出Direct3D将不可用。
最佳答案
调用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));
}