Rubrik: System/Windows · Sonstiges | VB-Versionen: VB5, VB6 | 28.01.05 |
Windowsversion inkl. ServicePack ermitteln Dieser Tipp zeigt, wie sich die Windowsversion einschl. ServicePack ermitteln lässt | ||
Autor: Microsys Kramer | Bewertung: | Views: 12.469 |
www.access-paradies.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Mit diesem Tipp lässt sich sowohl die Windowsversion, als auch die Build-Nr. und das installierte ServicePack ermitteln.
Fügen Sie hierzu nachfolgenden Code in ein Modul ein:
Option Explicit ' benötigte API-Deklarationen Private Const VER_PLATFORM_WIN32s = 0 Private Const VER_PLATFORM_WIN32_WINDOWS = 1 Private Const VER_PLATFORM_WIN32_NT = 2 Private Type OSVERSIONINFO OSVSize As Long dwVerMajor As Long dwVerMinor As Long dwBuildNumber As Long PlatformID As Long szCSDVersion As String * 128 End Type Private Declare Function GetVersionEx Lib "kernel32" _ Alias "GetVersionExA" ( _ lpVersionInformation As OSVERSIONINFO) As Long Public Type WINVER OSVersion As String BuildNr As String ServicePack As String End Type
' Windowsversion, Build-Nr und ServicePack ermitteln Public Function GetWinVersion() As WINVER On Error GoTo ErrHandler Dim osv As OSVERSIONINFO Dim nPos As Integer Dim sVer As String Dim sBuild As String With GetWinVersion osv.OSVSize = Len(osv) If GetVersionEx(osv) = 1 Then Select Case osv.PlatformID Case VER_PLATFORM_WIN32s .OSVersion = "Win32s" Case VER_PLATFORM_WIN32_NT .OSVersion = "Windows NT" Select Case osv.dwVerMajor Case 5: Select Case osv.dwVerMinor Case 0 .OSVersion = "Windows 2000" Case 1 .OSVersion = "Windows XP" End Select End Select Case VER_PLATFORM_WIN32_WINDOWS: Select Case osv.dwVerMinor Case 0 .OSVersion = "Windows 95" Case 90 .OSVersion = "Windows ME" Case Else .OSVersion = "Windows 98" End Select End Select .BuildNr = CSTR(osv.dwBuildNumber And &HFFFF&) nPos = InStr(osv.szCSDVersion, Chr$(0)) If nPos Then .ServicePack = Left$(osv.szCSDVersion, nPos - 1) Else .ServicePack = "Kein Servicepack" End If End If End With On Error Goto 0 ErrHandler: End Function
Beispielaufruf:
Dim tWinVer As WINVER tWinVer = GetWinVersion() With tWinVer List1.AddItem "OSVersion: " & .OSVersion List1.AddItem "Build: " & .BuildNr List1.AddItem "ServicePack: " & .ServicePack End With