3

我正在为 Windows 上的 3D 游戏开发启动器应用程序。配置“ini”文件要求用户指定所需设备的硬件 GUID,如 dxdiag.exe 返回的设备标识符 GUID。

我正在尝试列出系统上可用的适配器,允许用户选择一个并将该设备的硬件 GUID 加载到 ini 文件中。

我已经研究了许多尝试这样做的方法。我尝试使用 System.Management 类,它返回类 GUID 但不返回特定的驱动程序 GUID。我尝试使用对 SetupAPI.h 函数的本机调用,这些函数似乎也无法列出特定的设备标识符 GUID。我试过检查注册表,看看 GUID 是否驻留在那里。没运气。

我最好的想法可能是使用托管 DirectX 库来返回我正在寻找的 GUID,考虑到 dxdiag 可能就是这样做的。我能够使用用于 .NET 应用程序的 SharpDX Managed DirectX 接口枚举和收集有关每个驱动程序的硬件信息(我的目标是框架 3.5),但同样,我无法返回 dxdiag 返回的相同 GUID。

我真的很难找到解决方案。帮助?

4

1 回答 1

3

设法自己解决了。

决定解决此问题的最佳方法是使用 DirectX。导入 DX 库,将我的应用程序更改为 x86。我正在寻找的代码是:

Manager.Adapters[0].Information.DeviceIdentifier
于 2011-07-25T14:53:36.630 回答