Frage

Ich entwickle eine Launcher -Anwendung für ein 3D -Spiel unter Windows. Die Konfiguration "Ini" -Datei erfordert, dass der Benutzer die Hardware -GUID für das gewünschte Gerät wie in der von dxdiag.exe zurückgegebenen Gerätekennung GUID angeben.

Ich versuche, die verfügbaren Adapter im System aufzulisten, dem Benutzer zu ermöglichen, eine auszuwählen und die Hardware -GUID dieses Geräts in die INI -Datei zu laden.

Ich habe viele Methoden untersucht, um dies zu versuchen. Ich habe versucht, das System.management -Klasse zu verwenden, der die Klassenguid zurückgibt, nicht jedoch die spezifische Treiberrichtlinie. Ich habe versucht, native Anrufe bei Setupapi.H -Funktionen zu verwenden, die auch nicht in der Lage sind, die spezifische Richtlinie für Gerätekennung aufzulisten. Ich habe versucht, die Registrierung zu prüfen, um festzustellen, ob die Richtlinie dort liegt. Kein Glück.

Meine beste Idee war wahrscheinlich, die verwaltete DirectX -Bibliothek zu verwenden, um die GUID zurückzugeben, nach der ich suche, wenn man bedenkt, dass DXDIAG es wahrscheinlich macht. Ich konnte Hardwareinformationen über jeden Treiber mit der Sharpdx -verwalteten DirectX -Schnittstelle für .NET -Anwendungen aufzählen und zu sammeln (ich ziele auf Framework 3.5), aber ich konnte dies auch nicht zurückgeben, die DXDIAG zurückgegeben hat.

Ich stecke wirklich für eine Lösung fest. Hilfe?

War es hilfreich?

Lösung

Schaffte es selbst, es selbst zu lösen.

Entschied, dass der beste Weg, dies zu lösen, DirectX verwendete. Importierte DX -Bibliotheken, habe meine App in x86 geändert. Der Code, den ich suchte, war:

Manager.Adapters[0].Information.DeviceIdentifier
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top