我們有一個需要使用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