2011-07-24 15 views
3

我正在爲Windows上的3D遊戲開發啓動器應用程序。配置「ini」文件要求用戶指定所需設備的硬件GUID,如dxdiag.exe返回的設備標識符GUID。在C#中獲取視頻適配器的硬件GUID

我試圖列出系統上可用的適配器,允許用戶選擇一個並將該設備的硬件GUID加載到ini文件中。

我已經檢查了很多嘗試這種方法。我試過使用System.Management類,它返回類GUID但不是特定的驅動程序GUID。我試過使用本地調用SetupAPI.h函數,這似乎也無法列出特定的設備標識符GUID。我試過檢查註冊表,看看GUID是否駐留在那裏。沒有運氣。

我最好的想法可能是使用Managed DirectX庫來返回我正在尋找的GUID,考慮到這可能是dxdiag的做法。我能夠枚舉和收集每個驅動程序的硬件信息,使用SharpDX Managed DirectX接口(針對framework 3.5),但是我又無法返回與dxdiag返回的GUID相同的GUID。

我真的被困在一個解決方案。幫幫我?

回答

3

自己解決它。

決定解決此問題的最佳方法是使用DirectX。導入的DX庫,將我的應用程序更改爲x86。我一直在尋找的代碼是:

Manager.Adapters[0].Information.DeviceIdentifier 
+1

在做之前'Manager.Adapters [0]',檢查Adapters'的'的長度,如果它是零,你會得到一個異常。 –

相關問題