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

https://www.vbarchiv.net
Rubrik: System/Windows · Sonstiges   |   VB-Versionen: VB4, VB5, VB613.10.01
Welches System ist installiert?

Windows 95, Windows 98, Windows ME, Windows NT, Windows 2000, Windows XP? Das ist hier die Frage!

Autor:   Dieter OtterBewertung:  Views:  13.690 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Windows 95, Windows 98, Windows ME, Windows NT, Windows 2000, Windows XP oder Windows Vista?
Das ist hier die Frage!

' zunächst die benötigten API-Deklarationen
Private Type OSVERSIONINFO
  dwOSVersionInfoSize As Long
  dwMajorVersion As Long
  dwMinorVersion As Long
  dwBuildNumber As Long
  dwPlatformID As Long
  szCSDVersion As String * 128
End Type
 
Private Declare Function GetVersionEx Lib "kernel32" _
  Alias "GetVersionExA" ( _
  ByRef lpVersionInformation As OSVERSIONINFO) As Long
 
Private Const VER_PLATFORM_WIN32_NT = 2
Private Const VER_PLATFORM_WIN32_WINDOWS = 1
' Windows 95?
Public Function IsWin95() As Boolean
  Dim OSVersion As OSVERSIONINFO
 
  With OSVersion
    .dwOSVersionInfoSize = Len(OSVersion)
    GetVersionEx OSVersion
 
    IsWin95 = (.dwPlatformID = VER_PLATFORM_WIN32_WINDOWS) AND _
      (.dwMajorVersion = 4 And .dwMinorVersion = 0)
  End With
End Function
' Windows 98?
Public Function IsWin98() As Boolean
  Dim OSVersion As OSVERSIONINFO
 
  With OSVersion
    .dwOSVersionInfoSize = Len(OSVersion)
    GetVersionEx OSVersion
 
    IsWin98 = (.dwPlatformID = VER_PLATFORM_WIN32_WINDOWS) And _
      ((.dwMajorVersion > 4) Or _
      (.dwMajorVersion = 4 And .dwMinorVersion = 10))
  End With
End Function
' Windows ME?
Public Function IsWinME() As Boolean
  Dim OSVersion As OSVERSIONINFO
 
  With OSVersion
    .dwOSVersionInfoSize = Len(OSVersion)
    GetVersionEx OSVersion
 
    IsWinME = (.dwPlatformID = VER_PLATFORM_WIN32_WINDOWS) And _
      (.dwMajorVersion = 4 And .dwMinorVersion = 90)
  End With
End Function
' Windows NT?
Public Function IsWinNT() As Boolean
  Dim OSVersion As OSVERSIONINFO
 
  With OSVersion
    .dwOSVersionInfoSize = Len(OSVersion)
    GetVersionEx OSVersion
 
    IsWinNT = (.dwPlatformID = VER_PLATFORM_WIN32_NT) And _
      (.dwMajorVersion <= 4)
  End With
End Function

Tipp-Update vom 16.02.09
Nachfolgend Änderungen an den Funktionen IsWin2000 und IsWinXP, sowie eine neue Funktion IsVista, damit der Code auch korrekt unter Windows Vista funktioniert.

' Windows 2000?
Public Function IsWin2000() As Boolean
  Dim OSVersion As OSVERSIONINFO
 
  With OSVersion
    .dwOSVersionInfoSize = Len(OSVersion)
    GetVersionEx OSVersion
 
    IsWin2000 = (.dwPlatformID = VER_PLATFORM_WIN32_NT) And _
      (.dwMajorVersion = 5 And .dwMinorVersion < 1)
  End With
End Function
' Windows XP?
Public Function IsWinXP() As Boolean
  Dim OSVersion As OSVERSIONINFO
 
  With OSVersion
    .dwOSVersionInfoSize = Len(OSVersion)
    GetVersionEx OSVersion
 
    IsWinXP = (.dwPlatformID = VER_PLATFORM_WIN32_NT) And _
      (.dwMajorVersion = 5 And .dwMinorVersion >= 1)
  End With
End Function
' Windows Vista?
Public Function IsVista() As Boolean
  Dim OSVersion As OSVERSIONINFO
 
  With OSVersion
    .dwOSVersionInfoSize = Len(OSVersion)
    GetVersionEx OSVersion
 
    IsVista = (.dwPlatformID = VER_PLATFORM_WIN32_NT) And _
      (.dwMajorVersion = 6)
  End With
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.