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 : 7267
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} MANIPULER_REGISTRE VBSCRIPT
Petit utilitaire pour ouvrir une clé du registre à son emplacement exact. Mettre vos applications fa...

{Visual Basic, VB6, VB.NET, VB 2005} UN PATCH EN VB (V3)
Bon voilà c'est une update d'un de mes anciens code: http://www.vbfrance.com/codes/PATCH-VB_44485.a...

{Visual Basic, VB6, VB.NET, VB 2005} REGISTRY READ WRITE LOCAL OU DISTANT AVEC GESTION D'ERREURS EN UTILISANT LES API DE WINDOWS
Une classe pour lire et écrire la registry d'un ordi local ou distant, avec gestions d'erreurs. L...

{Delphi} DESKTOPICONFLYING
Bonjour à tous, Après un break de plus de 6 mois pour cause de mutation. gros bouleversement dan...

{Visual Basic, VB6, VB.NET, VB 2005} CLASSE .NET DE LECTURE/ÉCRITURE DANS LA BASE DE REGISTRE
Voici un bout de code permettant de travailler sereinement dans la base de registre. On peut lire...

{Visual Basic, VB6, VB.NET, VB 2005} FICHIERS_CACHÉS_LECTURE_SEULE
Vous pouvez mettre tous les fichiers d'une même extension en Lecture seule ou en Fichiers cachés. L...

{Assembleur} BASE DE REGISTRE ET TRANSFERE DE BMP DANS SYSTEM32
Programme simple pour particulier ou professionnel, on prend un logo que l' on place dans System32, ...

{Visual Basic, VB6, VB.NET, VB 2005} SUPPRESSION MESSAGE SÉCURITÉ À L'UTILISATION D'UN CONTRÔLE ACTIVEX SOUS EXCEL
Lorsque l'on utilise sous Excel (ou autre application Office) un ActiveX développé sous VB par ex, o...