我们有一个需要使用Direct3D的应用程序。具体而言,它至少需要DirectX 9.0c版本4.09.0000.0904。虽然这应该出现在所有新的XP机器上,但它可能不会安装在较旧的XP机器上。我如何以编程方式(使用C++)确定它是否已安装?我希望能够向用户发送一条信息消息,说明Direct3D不可用。如何确定安装了哪个版本的Direct3D?
3
A
回答
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));
}
0
根据DirectX 9.0 SDK(2004年夏季)文档,请参阅\ Samples \ Multimedia \ DXMisc \ GetDXVer上的GetDXVer SDK示例。
0
一个快速谷歌搜索变成了this article用于标识版本号在注册表中的位置,然后提供一个case语句,将内部版本号映射到我们更熟悉的版本号。
另一个快速Google搜索在C++中为reading from the registry举例说明。
享受...
0
是,使用在DirectX所示机构在2009年3月的DirectX SDK安装样品。 (请在示例浏览器的“系统”类别下查找。)
请勿使用注册表!那些东西没有证件,并且不能保证能够正常工作。
唯一受支持的方式是使用DirectSetup API,它显示在DirectX安装示例中。我还在第二十四章中介绍了这些内容。安装和设置在我的书The Direct3D Graphics Pipeline中。您可以在上面的URL免费下载该章节。
相关问题
- 1. 如何检测/确定安装了哪个SLT版本
- 2. 安装了哪个版本的oracle
- 3. 安装了哪个ruby版本?
- 4. 如何确定安装的webpack版本
- 5. 如何确定我的linux机器上安装了哪些版本的python3 tkinter?
- 6. 如何知道我安装了哪个版本的vs2010?
- 7. 我如何知道安装了哪个版本的mysqli?
- 8. 如何知道安装了哪个版本的MDAC?
- 9. 如何检测安装了哪个版本的Internet Explorer?
- 10. 如何找出在Ubuntu上安装了哪个版本的GTK +?
- 11. Susy gem:如何找出安装了哪个版本的Susy?
- 12. 如何找出安装了哪个版本的mod_perl?
- 13. 我如何知道我安装了哪个版本的monotouch?
- 14. 如何从Java内部确定安装了哪个.NET框架
- 15. 如何确定在SQL Server上安装了哪个Service Pack?
- 16. 安装了两个版本的Java,哪一个优先?
- 17. 如何安装windbg的正确版本?
- 18. 在Linux中如何检查脚本安装了哪个版本的Java?
- 19. 哪个版本的rpy要安装?
- 20. 安装iOS 4.3.5的哪个XCode版本?
- 21. 确定易于安装的python版本
- 22. 安装了哪个版本的结构API
- 23. Windows Azure服务器上安装了哪个版本的.net?
- 24. 我可以检查我安装了哪个版本的OpenMP吗?
- 25. 了解首次安装哪个版本的应用程序 - iOS
- 26. 在Mac(Yosemite)上安装了哪个版本的gcc
- 27. 让Ubuntu确认安装了PHP的定制版本
- 28. 如何运行安装了多个python版本的脚本?
- 29. 如何确定哪个rpm安装了定义SELinux类型的模块?
- 30. 如何找出在Windows 7上安装了哪个版本的SMB
哎呀,破链接! – 2013-05-20 12:36:57