Вопрос

Я разрабатываю приложение для запуска для 3D -игры в Windows. Файл конфигурации «INI» требует, чтобы пользователь указал аппаратное руководство для желаемого устройства, как и в GUID идентификаторе устройства, возвращаемого DXDIAG.EXE.

Я пытаюсь перечислить доступные адаптеры в системе, позволить пользователю выбрать один и загрузить аппаратное устройство этого устройства в файл INI.

Я изучил много методов для этого. Я пытался использовать класс System.management, который возвращает класс GUID, но не конкретный GUID. Я пытался использовать собственные вызовы для функций setupapi.h, которые, кажется, также не могут перечислить конкретный идентификатор устройства. Я попытался проверить реестр, чтобы узнать, находится ли там GUID. Неудачно.

Моей лучшей идеей было, вероятно, использование библиотеки Managed DirectX для возврата дали, которую я ищу, учитывая, что, вероятно, так и делает DXDIAG. Я смог перечислить и собирать аппаратную информацию о каждом драйвере, используя интерфейс SharpDX, управляемый DirectX для приложений .NET (я нацелен на Framework 3.5), но, опять же, я не смог вернуть то же руководство, которое DXDIAG возвращает.

Я действительно застрял за решением. Помощь?

Это было полезно?

Решение

Удалось решить это сам.

Решил, что лучший способ решить, что это использование DirectX. Импортированные библиотеки DX, изменили мое приложение на x86. Код, который я искал, был:

Manager.Adapters[0].Information.DeviceIdentifier
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top