Получение оборудования для видео адаптера в C#
-
25-10-2019 - |
Вопрос
Я разрабатываю приложение для запуска для 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