vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2015
 
zurück
Rubrik: Verschiedenes / Sonstiges   |   VB-Versionen: VB.NET18.08.08
Access-Version aus der Registry auslesen

Diese Funktion ermittelt anhand der Windows-Registry die installierte Access-Version und gibt die entsprechenden Infos zurück.

Autor:   Heinz PrelleBewertung:     [ Jetzt bewerten ]Views:  9.510 
www.visual-basic5.deSystem:  Win2k, WinXP, Vista, Win7, Win8, Win10 Beispielprojekt auf CD 

Summer-Special bei Tools & Components!
Gute Laune Sommer bei Tools & Components
Top Summer-Special - Sparen Sie teilweise über 100,- EUR
Alle sev-Entwicklerkomponenten und Komplettpakete jetzt bis zu 25% reduziert!
zum Beispiel:
  • Developer CD nur 455,- EUR statt 569,- EUR
  • sevDTA 2.0 nur 224,30 EUR statt 299,- EUR
  •  
  • vb@rchiv   Vol.6 nur 18,70 EUR statt 24,95 EUR
  • sevCoolbar 3.0 nur 58,70 EUR statt 69,- EUR
  • - Werbung -Und viele weitere Angebote           Aktionspreise nur für kurze Zeit gültig

    Diese Funktion ermittelt anhand der Windows-Registry die installierte Access-Version und gibt die entsprechenden Infos zurück.

    Imports Microsoft.Win32
    Imports System.Text
    ''' <summary>
    ''' Access-Informationen aus der Registrierdatenbank ermitteln
    ''' </summary>
    ''' <param name="VersionsNumber">Rückgabe: Die extrahierte Versionsnummer</param>
    ''' <param name="VersionsString">Rückgabe: Die ermittelte Access Version</param>
    ''' <returns>Der ermittelte Wert des Eintragsnamens</returns>
    Private Function GetMSAccessInformation(ByRef VersionsNumber As Integer, _
      ByRef VersionsString As String) As String
     
      ' Ergebnisvariable zur Aufname des Eintragswertes
      Dim Result As String = String.Empty
     
      ' Schlüssel in der Registrierdatenbank oeffnen
      Using rk As RegistryKey = _
        Registry.ClassesRoot.OpenSubKey("Access.Application\CurVer", False)
        ' Konnte der Pfad geöffnet werden...
        If rk IsNot Nothing Then
          ' ... wird der Wert ausgelesen und an die Variable Result übergeben.
          Result = CType(rk.GetValue(""), String)
          ' Zur Übergabe an die Variable VersionsNumber wird der Wert aus der 
          ' Variable Result extrahiert...
          VersionsNumber = CType(Result.Substring( _
            Result.LastIndexOf(".") + 1), Integer)
          ' ...und zur Übergabe and die Variable VersionsString ausgewertet.
          Select Case VersionsNumber
            Case 8
              VersionsString = "Microsoft Access 97"
            Case 9
              VersionsString = "Microsoft Access 2000"
            Case 10
              VersionsString = "Microsoft Access 2002 / XP"
            Case 11
              VersionsString = "Microsoft Access 2003"
            Case 12
              VersionsString = "Microsoft Access 2007"
            Case Else
              VersionsString = "Unbekannt"
          End Select
        Else
          ' Konnte der Pfad in der Registrierdatenbank nicht ausgewertet werden 
          ' wird dieString-Variable Result mit "Fehler" initialisiert.
          Result = "Fehler"
        End If
      End Using
      Return Result
    End Function

    Beispiel für den Aufruf:

    ' Übernimmt die Versionsnummer
    Dim VersionsNumber As Integer = -1
     
    ' Übernimmt die Access-Versions
    Dim VersionsString As String = String.Empty
     
    ' Result übernimmt den aus der Registriedatenbank 
    ' ermittelten(Eintragswert)
    Dim Result As String = GetMSAccessInformation( _
      VersionsNumber, VersionsString)
     
    ' Beinhaltet das Ergebnis den Wert Fehler...
    If Result.Equals("Fehler") Then
      '...wird ein Hinweis ausgegeben, dass die Informationen 
      ' nicht ermittelt werden konnten...
      MessageBox.Show("Informationen konnten nicht ermittelt werden.", "Info")
    Else
      ' ...ansonsten werden die einzelnen Variablen-Werte an einen 
      ' StringBuilder übergeben und zusammengesetzt.
      Dim sb As StringBuilder = New StringBuilder
      With sb
        .Append("n/" & Result)
        .Append("n/" & CType(VersionsNumber, String))
        .Append("n/" & VersionsString)
        .Replace("n/", System.Environment.NewLine())
      End With
      MessageBox.Show(sb.ToString(), "Info")
    End If

    Dieser Tipp wurde bereits 9.510 mal aufgerufen.

    Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

    Über diesen Tipp im Forum diskutieren
    Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

    Neue Diskussion eröffnen

    nach obenzurück


    Anzeige

    Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
    (einschl. Beispielprojekt!)

    Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
    - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
    - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
    Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
     
       

    Druckansicht Druckansicht Copyright ©2000-2015 vb@rchiv Dieter Otter
    Alle Rechte vorbehalten.
    Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

    Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel