CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Lire la version DirectX (VB)

Ice-Marine
Ice-Marine
Niveau 10
28 mars 2005 à 21:20:59

Bonjour.
Comment pourais-je lire la version de mon DirectX avec des codes VB?
Merci

[LoCkLeSs]
[LoCkLeSs]
Niveau 10
28 mars 2005 à 21:25:00

En utilisant la commande " dxdiag" on doit pouvoir non?

LGV
LGV
Niveau 28
28 mars 2005 à 21:35:23

pour le faire depuis ton code, il y a un sample dans le SDK qui fait ça tres bien

Ice-Marine
Ice-Marine
Niveau 10
28 mars 2005 à 21:47:29

Dxdiag????
SDK???

Vous pouvez pas me donner un code svp
?

dnob700
dnob700
Niveau 10
28 mars 2005 à 23:37:34

non, car il n´y a pas de fonction qui le fasse,

il faut tester une par une des fonctionnalité qui ont été introduite de version en version et voir si elle existe.

En tout cas avec DX8 c´est comme ça que ça marchais je crois. Si il ont introduit autre chose dans le 9, alors c´est juste le truc a tester pour voir si t´es dans la version 9.

n´empêche ça me semble moche comme méthode et ça m´étonne qu´il n´y ai pas autre chose ( mais c´est ce que j´avais lu dans la MSDN version 1996).

dnob700
dnob700
Niveau 10
28 mars 2005 à 23:38:05

1998 pour être exacte ( celle qui venait avec vb6)

LGV
LGV
Niveau 28
29 mars 2005 à 01:53:37

mais... je sais encore ce que je raconte ! Le SDK contient un exemple d´une application qui lit le numéro de version du directx installé sur la machine. Allez voir dans la partie runtime redist. il y a tout ce qu´il faut. C´est comme ça qu´un jeu sait s´il doit ou non proposer de mettre à jour la machine si la version présente est antérieure à celle nécessaire au bon fonctionnement du produit.

paradox-
paradox-
Niveau 6
29 mars 2005 à 10:13:03

LGV+1
Je confirme, il y a un outil qui détecte la version DirectX installée sur la machine, naturellement c´est pas en VB mais ça devrait t´aider, notemment si ya un whitepaper la dessus

Ice-Marine
Ice-Marine
Niveau 10
29 mars 2005 à 13:00:25

C´est bon ca:

Option Explicit

Private Declare Sub CopyMemory Lib " kernel32" Alias " RtlMoveMemory" ( dest As Any, source As Any, ByVal numBytes As Long)
Private Declare Function RegOpenKeyEx Lib " advapi32.dll" Alias " RegOpenKeyExA" ( ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
Private Declare Function RegCloseKey Lib " advapi32.dll" ( ByVal hKey As Long) As Long
Private Declare Function RegQueryValueEx Lib " advapi32.dll" Alias " RegQueryValueExA" ( ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long

Function GetDirectXVersion() As String
Dim handle As Long

Dim resString As String
Dim strVersion As String

Dim resBinary() As Byte

If RegOpenKeyEx(&80000002, " SOFTWARE\Microsoft\DirectX", 0, &20019, handle) Then Exit Function

ReDim resBinary(1023) As Byte

Call RegQueryValueEx(handle, " Version", 0, 0, resBinary(0), 1024)

resString = Space$(1023)
CopyMemory ByVal resString, resBinary(0), 1023

RegCloseKey handle

resString = Left(resString, 12)

Select Case resString
Case " 4.02.0095"
GetDirectXVersion = " 1.0"
Case " 4.03.00.1096"
GetDirectXVersion = " 2.0"
Case " 4.04.0068", " 4.04.0069"
GetDirectXVersion = " 3.0"
Case " 4.05.00.0155"
GetDirectXVersion = " 5.0"
Case " 4.05.01.1721", " 4.05.01.1998"
GetDirectXVersion = " 5.0"
Case " 4.06.02.0436"
GetDirectXVersion = " 6.0"
Case " 4.07.00.0700"
GetDirectXVersion = " 7.0"
Case " 4.07.00.0716"
GetDirectXVersion = " 7.0a"
Case " 4.08.00.0400"
GetDirectXVersion = " 8.0"
Case " 4.08.01.0881", " 4.08.01.0810"
GetDirectXVersion = " 8.1"
Case " 4.09.0000.0900"
GetDirectXVersion = " 9.0"
Case " 4.09.0000.0901"
GetDirectXVersion = " 9.0a"
Case " 4.09.0000.0902"
GetDirectXVersion = " 9.0b"
End Select

End Function

Private Sub Form_Load()
MsgBox " DirectX Version: " & GetDirectXVersion
End Sub

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment