Rubrik: System/Windows · Sonstiges | VB-Versionen: VB4, VB5, VB6 | 13.03.01 |
Windows-Version ermitteln II Ermitteln der korrekten Version des installierten 32-bit Betriebssystems (Win95, Win98, Win98SE, WinME, WinNT oder Win2000). | ||
Autor: Marcus Schmitt | Bewertung: | Views: 19.755 |
www.schmittis-page.de | System: 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