2017-10-07 6 views
0

Je suis en train de développer une application qui détecterait les versions de DirectX installées sur mon système. Par exemple, si DirectX 9 et DirectX 11 sont installés sur mon système, mon programme doit détecter ces installations et afficher les versions installées. Mais je n'ai aucune idée sur la façon d'y arriverComment détecter les versions installées de DirectX

EDIT: Je ne veux pas utiliser dxdiag interface utilisateur pour détecter les versions, je veux que mon programme pour détecter les versions. Et toutes les versions installées doivent être détectés non seulement celui qui est pré-installé avec le système d'exploitation ou le plus haut niveau pris en charge par le système d'exploitation

+0

Dupliquer de https://stackoverflow.com/questions/22223859/find-out-directx-version – Dale

+1

Un tel programme existe déjà sur chaque machine Windows. Lancez dxdiag.exe pour avoir un look-see. Vous pouvez l'exécuter avec l'option/x pour générer un fichier .xml à la place. –

+0

Microsoft ne fournit pas d'API pour ce faire. Vous devriez vous référer à l'article mentionné par @ Dale_dale12 – Asesh

Répondre

2

Vous aurez très probablement pas en mesure de la liste toutes les versions DirectX installées. Je suis tombé sur this interesting article dans les pages de support de la plate-forme de jeux appelés Steam:

Essayer de vérifier manuellement les versions correctes est extrêmement complexe, car il existe de nombreux fichiers qui doivent tous être des options de configuration du système actuel et individuels comme la recherche dll les chemins compliquent la situation. De plus, les dépendances et les contrôles requis peuvent changer dans chaque nouvelle version du runtime D3DX.

Comme mentioned by Hans Passant vous pouvez obtenir la version installée la plus en exécutant dxdiag /x <output file> pour générer un fichier XML contenant différentes entrées de vos informations d'ordinateur, puis analyser ou désérialiser ce fichier dans votre application.