vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: System/Windows · Sonstiges   |   VB-Versionen: VB4, VB5, VB613.03.01
Windows-Version ermitteln II

Ermitteln der korrekten Version des installierten 32-bit Betriebssystems (Win95, Win98, Win98SE, WinME, WinNT oder Win2000).

Autor:   Marcus SchmittBewertung:  Views:  19.755 
www.schmittis-page.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Immer mehr unterschiedliche Windows-Versionen erscheinen auf dem Markt und nicht jedes Windows ist immer Windows-kompatibel. Mit nachfolgendem Code und einer API-Funktion können Sie die verwendete Windows-Version ermitteln. Es werden die folgenden Windows-Versionen erkannt:

  • Windows 95, Windows 98, Windows 98 SE
  • Windows ME
  • Windows NT, Windows 2000

' zunächst die benötigten API-Deklarationen
Private Declare Function GetVersionEx Lib "kernel32" _
  Alias "GetVersionExA" ( _
  lpVersionInformation As OSVERSIONINFO) As Long
 
Private Type OSVERSIONINFO
  dwOSVersionInfoSize As Long
  dwMajorVersion As Long
  dwMinorVersion As Long
  dwBuildNumber As Long
  dwPlatformId As Long
  szCSDVersion As String * 128
End Type
 
Const VER_PLATFORM_WIN32_WINDOWS = 1
Const VER_PLATFORM_WIN32_NT = 2
 
' Windowsversion ermitteln und als Text zurückgeben
Public Function Betriebssystem() As String
  Dim OSString As String
  Dim OSVersion As OSVERSIONINFO
  Dim BuildNr As Long
 
  OSVersion.dwOSVersionInfoSize = Len(OSVersion)
  Call GetVersionEx(OSVersion)
 
  OSString = ""
  With OSVersion
    If (.dwBuildNumber And &HFFFF&) > &H7FFF Then
      BuildNr = (.dwBuildNumber And &HFFFF&) - &H10000
    Else
      BuildNr = .dwBuildNumber And &HFFFF&
    End If
 
    ' 'Windows NT / Windows 2000
    If .dwPlatformId = VER_PLATFORM_WIN32_NT Then
      If .dwMajorVersion = 4 Then
        OSString = "Windows NT"
      ElseIf .dwMajorVersion = 5 Then
        OSString = "Windows 2000"
      End If
    ElseIf .dwPlatformId = VER_PLATFORM_WIN32_WINDOWS Then
      ' 'Windows 98/ Windows 98 SE
      If (.dwMajorVersion > 4) Or (.dwMajorVersion = 4 And _
        .dwMinorVersion = 10) Then
        If BuildNr = 1998 Then
          OSString = "Windows 98"
        Else
          OSString = "Windows 98 SE"
        End If
 
      ' 'Windows 95
      ElseIf (.dwMajorVersion = 4 And _
        .dwMinorVersion = 0) Then
        OSString = "Windows 95"
 
      ' 'Windows ME
      ElseIf (.dwMajorVersion = 4 And _
        .dwMinorVersion = 90) Then
        OSString = "Windows ME"
      End If
    End If
  End With
 
  Betriebssystem = OSString
End Function



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.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle 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.