Les Snippets

Connexion

Connaitre la version du MDAC installé

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 08/12/2007 05:32:50 et initié par PCPT [Liste]
Vue : 1760
Catégorie(s) : Base de registre, API, Chaîne de caractères
Langages dispo pour ce code :
- VB6, VBA
- VBScript



Langage : VB6 , VBA
Date ajout : 08/12/2007
Posté par PCPT [Liste]
Private Const HKEY_CLASSES_ROOT As Long = &H80000000
Private Const KEY_ALL_ACCESS    As Long = &H3F
Private Const ERROR_SUCCESS     As Long = 0&
Private Const REG_SZ            As Long = 1&
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As LongAs Long
Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As LongByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As  Long
Private Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As LongByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal szData As String, ByRef lpcbData As Long) As  Long
'
Function GetMDACVersion(Optional ByRef iMajor As Integer, Optional ByRef iMinor As Integer) As String
    Dim lRet As Long, lKeyHandle As Long, sBuffer As String, sRet As String
    GetMDACVersion = "0.00"
 
'   ouvre la  clé
    lRet = RegOpenKeyEx(HKEY_CLASSES_ROOT,  "MDACVer.Version\CurVer\"0&, KEY_ALL_ACCESS, lKeyHandle)
    If lRet = ERROR_SUCCESS Then
'       la clé existe, on  cherche la valeur
        sBuffer = String(256, vbNullChar)
        lRet = RegQueryValueEx(lKeyHandle, vbNullString, 0&, REG_SZ, sBuffer, Len(sBuffer))
        
        If lRet = ERROR_SUCCESS Then
'           pas d'erreur,  vérifie la valeur pour ne récupérer que le numérique
            lRet = InStrB(1, sBuffer, vbNullChar)
            If lRet > Then
                sRet = Trim$(LeftB$(sBuffer, lRet))
                GetMDACVersion = RightB$(sRet, 8)
            End If
        End If
'       on ferme la  clé
        Call RegCloseKey(lKeyHandle)
    End If
'   on recoupe la chaine  pour séparer Major/Minor
    iMajor = LeftB(GetMDACVersion, 2)
    iMinor = RightB(sRet, 4)
End Function

Remarque :
'   UTILISATION 1 :
MsgBox GetMDACVersion


'   UTILISATION 2 :
Dim iMaj%, iMin%
GetMDACVersion iMaj, iMin
MsgBox "Version : [" & iMaj & "].[" & iMin & "]"
Langage : VBScript
Date ajout : 08/12/2007
Posté par PCPT [Liste]
Function GetMDACVersion()
  Dim WshShell, sRet
' création obj  reg
  Set WshShell = CreateObject("Wscript.Shell")
' valeur
  sRet = WshShell.RegRead("HKEY_CLASSES_ROOT\MDACVer.Version\CurVer\")
' détruit
  Set WshShell = nothing
'  retour
  If IsNull(sRet) Then
    GetMDACVersion = "0.00"
  Else
    GetMDACVersion = RightB(sRet,8)
  End If
End function

Remarque :
'   UTILISATION :
Wscript.echo GetMDACVersion

Snippets en rapport avec : Version, Registre, Mdac, Major, Minor



Codes sources en rapport avec : Version, Registre, Mdac, Major, Minor

{C / C++ / C++.NET} REGISTRY GUARD BETA
Registry Guard est un programme très proche de Regmon de Sysinternals (http://www.sysinternals.com/U...

{Visual Basic, VB6, VB.NET, VB 2005} TESTER LA VERSION DU MDAC INSTALLÉ
reste à définir le mdac que vous utilisez Const V_MDAC As String = "2.8" puis Call testMdac...

{Visual Basic, VB6, VB.NET, VB 2005} OUVRIR LE REGISTRE EN DÉFFINISSANT LA CLÉ DE SON CHOIX.
Sous Windows XP, lorsque vous exécutez « RegEdit.exe » pour accéder à la base de registres, celui-ci...

{Delphi} BLOQUER LE TASKMGR SANS CLÉ DE REGISTRE
Suite a une question que j'ai poser sur le forum en vain j'ai chercher et trouvé le moyen de b...

{Visual Basic, VB6, VB.NET, VB 2005} WMI, APPLICATION DE MONITORING DE PROCESSUS + BASE DE REGISTRE (HOTES LOCAL ET DISTANTS)
Bonjour tout le monde, Voici ma première source postée sur VB France. Et j'avoue que pour une pre...

{Visual Basic, VB6, VB.NET, VB 2005} FONCTIONS DE BASE DU REGISTRE
Cette sources contient les Fonctions de base du Registre Auteur original: www.zonegeeks.com ...

{Delphi} INFORMATIONS DISQUE ET SYSTEME
Bonjour tt le monde ;-) Ce petit programme nous permet d’obtenir: Le nom du volume du disque ;...

{Delphi} PROXY SELECTOR - PRATIQUE SI VOUS UTILISEZ PLUS D'UN PROXY
Ce programme garde en mémoire une liste de proxy que vous avez pré-enregistré. Vous passez d'un simp...

{Visual Basic, VB6, VB.NET, VB 2005} OCX REGISTRE
Ce contrôle sert à simplifier la programmation utilisant la base de registre. ...

{C / C++ / C++.NET} WALLPAPERS, CHANGEMENT DE FOND D'ÉCRAN AUTOMATISÉ...
Cette source permet de changer de fond d'écran de manière automatisé... Pour que le programme fonct...