vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
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:  16.276 
www.visual-basic5.deSystem:  Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

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 16.276 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-2024 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