PureBasic
https://www.purebasic.fr/french/

Tester la version de DirectX
https://www.purebasic.fr/french/viewtopic.php?f=6&t=17255
Page 1 sur 2

Auteur:  falsam [ Jeu 03/Mai/2018 19:17 ]
Sujet du message:  Tester la version de DirectX

Objectif : Tester la version de DirectX

- Ajout de la valeur "10.00.10240.16384" pour tester DirectX 12
Code:
Procedure.s RegReadKey(TopKey.l, KeyName.s, ValueName.s, Type.l, ComputerName.s)
  Protected Error.l, hKey.l, lReturnCode.l, lhRemoteRegistry.l, BufferSize, Value.q, Result.s
 
  If ComputerName = ""
    Error = RegOpenKeyEx_(TopKey, KeyName, 0, #KEY_READ, @hKey)
  Else
    lReturnCode = RegConnectRegistry_(ComputerName, topKey, @lhRemoteRegistry)
    Error = RegOpenKeyEx_(lhRemoteRegistry, KeyName, 0, #KEY_READ, @hKey)
  EndIf
 
  If Error = #ERROR_SUCCESS 
    RegQueryValueEx_(hKey, ValueName, 0, @type, 0, @BufferSize)
   
    Select Type
      Case #REG_SZ,#REG_EXPAND_SZ
       
        If bufferSize
          value = AllocateMemory(buffersize)
          If value
            Error = RegQueryValueEx_(hKey, ValueName, 0, 0, Value, @BufferSize)
             
            If Error = #ERROR_SUCCESS
              Result = PeekS(value) 
            EndIf
            FreeMemory(value)
          Else
            Error = #ERROR_NOT_ENOUGH_MEMORY
          EndIf 
        EndIf       
       
      Case #REG_DWORD, #REG_QWORD
        Error = RegQueryValueEx_ (hKey, ValueName, 0, 0 , @Value, @BufferSize)
        If Error = #ERROR_SUCCESS
          Result = Str(Value)
        EndIf
         
    EndSelect
     
    RegCloseKey_(hkey)
  EndIf
 
  ProcedureReturn Result
EndProcedure

Procedure.s DX_Version()

  Protected TopKey.l = #HKEY_LOCAL_MACHINE
  Protected KeyName.s = "Software\Microsoft\DirectX"
  Protected Value.s = "Version"

  DXVersion$ = RegReadKey(TopKey, KeyName, Value, #REG_DWORD,"")
 
  Select DXVersion$
    Case "4.02.0095"
      Version_DX$ = "1.0"
    Case "4.03.00.1096"
      Version_DX$ = "2.0"
    Case "4.04.0068"
      Version_DX$ = "3.0"
    Case "4.04.0069"
      Version_DX$ = "3.0"
    Case "4.05.00.0155"
      Version_DX$ = "5.0"
    Case "4.05.01.1721"
      Version_DX$ = "5.0"
    Case "4.05.01.1998"
      Version_DX$ = "5.0"
    Case "4.06.02.0436"
      Version_DX$ = "6.0"
    Case "4.07.00.0700"
      Version_DX$ = "7.0"
    Case "4.07.00.0716"
      Version_DX$ = "7.0a"
    Case "4.08.00.0400"
      Version_DX$ = "8.0"
    Case "4.08.01.0881"
      Version_DX$ = "8.1"
    Case "4.08.01.0810"
      Version_DX$ = "8.1"
    Case "4.09.0000.0900"
      Version_DX$ = "9.0"
    Case "4.09.00.0900"
      Version_DX$ = "9.0"
    Case "4.09.0000.0901"
      Version_DX$ = "9.0a"
    Case "4.09.00.0901"
      Version_DX$ = "9.0a"
    Case "4.09.0000.0902"
      Version_DX$ = "9.0b"
    Case "4.09.0000.0902"
      Version_DX$ = "9.0b"
    Case "4.09.00.0903"
      Version_DX$ = "9.0c"
    Case "4.09.00.0904"
      Version_DX$ = "9.0c"
    Case "4.09.00.0904 (RC0)"
      Version_DX$ = "9.0c"
    Case "4.09.00.0905 (RC0)" 
      Version_DX$ = "9.25.1476"
    Case "4.09.00.0906 (RC0)" 
      Version_DX$ = "9.26.1590"
    Case "4.09.6000.16386"
      Version_DX$ = "10"
    Case "6.00.6000.16386"
      Version_DX$ = "10" 
    Case "6.00.6001.18000"
      Version_DX$ = "10.1"
    Case "6.01.7600.16385"
      Version_DX$ = "11"
    Case "6.01.7601.17514"
      Version_DX$ = "11"
    Case "6.02.9200.16384"
      Version_DX$ = "11.1"
    Case "6.03.9600.16384"
      Version_DX$ = "11.2"
    Case "10.00.10240.16384"
      Version_DX$ = "12.0"
     
  EndSelect
   
  ProcedureReturn Version_DX$ + " ("+DXVersion$+")"
     
EndProcedure
 
Debug "Version directX "+ DX_Version()
Si quelques uns d'entres vous pouvez me retourner un résultat en spécifiant l'OS. Merci.

Auteur:  GallyHC [ Jeu 03/Mai/2018 19:30 ]
Sujet du message:  Re: Tester la version de DirectX

Bonjour,

Pour ma part "Version directX 9.0c (4.09.00.0904)" avec Windows7.

Cordialement,
GallyHC

Auteur:  SPH [ Jeu 03/Mai/2018 19:43 ]
Sujet du message:  Re: Tester la version de DirectX

Citation:
Version directX 9.0c (4.09.00.0904)


bizzare, car je suis sous w10 !

Auteur:  falsam [ Jeu 03/Mai/2018 19:45 ]
Sujet du message:  Re: Tester la version de DirectX

SPH a écrit:
bizzare, car je suis sous w10 !
Tu as peut être installé un jeu qui lui même a installé DirectX 9c pour qu'il puisse fonctionner.

Auteur:  Ar-S [ Jeu 03/Mai/2018 20:00 ]
Sujet du message:  Re: Tester la version de DirectX

Pour savoir quelle version de Direct X vous utilisez faites
Démarrer / executer (ou Windows + R)
et tapez DXDIAG

Auteur:  falsam [ Jeu 03/Mai/2018 20:12 ]
Sujet du message:  Re: Tester la version de DirectX

Ar-S a écrit:
Pour savoir quelle version de Direct X vous utilisez faites
Démarrer / executer (ou Windows + R)
et tapez DXDIAG
Mince j'aurais écrire dans mon premier message que ce n'était pas la peine de signaler l’existence de DxDiag qui lui renseigne sur la version installée de DirectX.

J'ai Windows 10 avec DirectX 12 installé.

Je pense que le code indique la compatibilité utilisée qui est chez moi
Citation:
Version directX 9.0c (4.09.00.0904)

Auteur:  SPH [ Jeu 03/Mai/2018 20:32 ]
Sujet du message:  Re: Tester la version de DirectX

Ar-S a écrit:
Pour savoir quelle version de Direct X vous utilisez faites
Démarrer / executer (ou Windows + R)
et tapez DXDIAG

Avec dxdiag, j'ai bien dx12 :!:

Auteur:  Ar-S [ Jeu 03/Mai/2018 21:08 ]
Sujet du message:  Re: Tester la version de DirectX

@falsam
J'avoue que je m'en doutais... Mais ça rassure SPH comme ça :D

Auteur:  Micoute [ Ven 04/Mai/2018 6:36 ]
Sujet du message:  Re: Tester la version de DirectX

Bonjour à tous,
en fait je suis comme SPH 9.0c (4.09.00.0904) avec la méthode falsam et 12 par la méthode Ar-s

Auteur:  falsam [ Ven 04/Mai/2018 8:51 ]
Sujet du message:  Re: Tester la version de DirectX

@Ar-s : Pas de souci. L'importance est que SPH soit rassuré :wink:

@Micoute : Avec ce teste je sais que c'est DirectX 9c que ton système connait.

Auteur:  microdevweb [ Ven 04/Mai/2018 8:57 ]
Sujet du message:  Re: Tester la version de DirectX

sur windows 10

Version directX 9.0c (4.09.00.0904)

Auteur:  Micoute [ Ven 04/Mai/2018 9:02 ]
Sujet du message:  [Résolu] Tester la version de DirectX

falsam a écrit:
@Ar-s : Pas de souci. L'importance est que SPH soit rassuré :wink:

@Micoute : Avec ce teste je sais que c'est DirectX 9c que ton système connait.


ça m'a permit de savoir qu'il fallait que je remettre mon pilote à jour, ce qui a résolu mon problème.

Auteur:  falsam [ Ven 04/Mai/2018 9:03 ]
Sujet du message:  Re: Tester la version de DirectX

Merci Microdevweb. Je suis perplexe sur cette item de la base de registre dont je fais référence dans le code. Quel type d'information renvoit il ?

Auteur:  falsam [ Ven 04/Mai/2018 9:06 ]
Sujet du message:  Re: Tester la version de DirectX

@Micoute : C'était le but de ce code pour répondre à ta problématique dans un autre sujet

Auteur:  microdevweb [ Ven 04/Mai/2018 9:26 ]
Sujet du message:  Re: Tester la version de DirectX

falsam a écrit:
Merci Microdevweb. Je suis perplexe sur cette item de la base de registre dont je fais référence dans le code. Quel type d'information renvoit il ?


Je ne comprend pas bien ta question ?

Page 1 sur 2 Heures au format UTC + 1 heure
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/