我正在为Windows上的3D游戏开发一个启动器应用程序。配置“ini”文件要求用户指定所需设备的硬件GUID,如dxdiag.exe返回的设备标识符GUID。
我正在尝试列出系统上的可用适配器,允许用户选择一个并将该设备的硬件GUID加载到ini文件中。
我已经研究了很多尝试这种方法的方法。我已经尝试使用System.Management类,它返回类GUID但不返回特定的驱动程序GUID。我尝试使用对SetupAPI.h函数的本机调用,这些函数似乎也无法列出特定的设备标识符GUID。我已经尝试检查注册表,看看GUID是否驻留在那里。没有运气。
我最好的想法可能是使用Managed DirectX库来返回我正在寻找的GUID,考虑到dxdiag可能是这样做的。我能够使用针对.NET应用程序的SharpDX Managed DirectX接口枚举和收集有关每个驱动程序的硬件信息(我的目标是框架3.5),但同样,我无法返回dxdiag返回的相同GUID。
我真的很难找到解决方案。帮助
答案 0 :(得分:3)
自己解决这个问题。
决定解决这个问题的最佳方法是使用DirectX。导入的DX库,将我的应用程序更改为x86。我正在寻找的代码是:
Manager.Adapters[0].Information.DeviceIdentifier