2014-03-03 53 views
0

我想編寫一個程序,列出在Windows系統上運行的所有DirectX3D應用程序並顯示它們使用的資源。我知道如何通過IDXGIAdapter接口使用IDXGIFactory接口和適配器輸出來枚舉適配器。我也知道如何使用QueryInterface和GetParent找出ID3D11Device使用的適配器。雖然,我需要相反的:ID3D11Device的枚舉,它在給定的適配器上運行。您需要指定一個IDXGIAdapter,通過D3D11CreateDevice創建一個ID3D11Device。所以必須有一個連接。有什麼想法如何獲得這樣的枚舉?DirectX3D 11枚舉設備

非常感謝。

回答

0

您可以嘗試搜索已加載directx dll的進程。 finding loaded dll

OR

可以放在D3D11CreateDevice全局鉤子,每當一些應用程序調用它爭取該應用程序。

+0

我把問題放在這裏,因爲我希望能夠避免鉤住。與此同時,我看到我對鉤子的懷疑是無稽之談。我嘗試了你的第二個建議,它工作得很好。感謝提示。 – user2105367