2008-09-17 13 views
3

Wir haben eine Anwendung, die Direct3D verwenden muss. Insbesondere benötigt es mindestens DirectX 9.0c Version 4.09.0000.0904. Obwohl dies auf allen neueren XP-Rechnern vorhanden sein sollte, wird es möglicherweise nicht auf älteren XP-Rechnern installiert. Wie kann ich programmgesteuert (mit C++) feststellen, ob es installiert ist? Ich möchte dem Benutzer eine Informationsnachricht geben können, dass Direct3D nicht verfügbar sein wird.Wie ermittelt man, welche Version von Direct3D installiert ist?

Antwort

0

Die Dokumentation zu DirectX 9.0 SDK (Sommer 2004) finden Sie im GetDXVer SDK-Beispiel unter \ Samples \ Multimedia \ DXMisc \ GetDXVer.

0

Eine schnelle Google-Suche auftaucht this article, die die identifiziert Speicherort der Versionsnummer in der Registrierung und stellt dann eine Fallanweisung bereit, die die interne Versionsnummer der Versionsnummer zuordnet, mit der wir vertrauter sind. Eine andere schnelle Google-Suche zeigt ein Beispiel in C++ für reading from the registry. Installieren Probe im März 2009 DirectX SDK

Genießen ...

+0

oops, defekte Links! –

0

Ja, verwenden Sie den Mechanismus in der DirectX gezeigt. (Sehen Sie im Beispielbrowser unter "System" nach.)

Verwenden Sie nicht die Registrierung! Das Zeug ist undokumentiert und funktioniert nicht garantiert.

Die einzige unterstützte Methode ist die Verwendung der DirectSetup-API, die im DirectX-Installationsbeispiel angezeigt wird. Ich behandle dieses Thema auch in Kapitel 24. Installation und Einrichtung in meinem Buch The Direct3D Graphics Pipeline. Sie können dieses Kapitel kostenlos unter der obigen URL herunterladen.

Verwandte Themen