Rubrik: Windows/System | 22.03.05 |
GetVersion-Funktion Diese Funktion ermittelt die Version und Build-Nummer des Betriebssystems. | ||
Betriebssystem: Win95, Win98, WinNT 3.1, Win2000, WinME | Views: 8.537 |
Deklaration:
Declare Function GetVersion Lib "kernel32" () As Long
Beschreibung:
Diese Funktion ermittelt die Version und Build-Nummer des Betriebssystems.
Parameter:
keine |
Rückgabewert:
Der LoByte-Wert des LoWord-Wertes der Rückgabe ist die MajorVersion. Die Minorversion ist der HiBytedes LoWord-Wertes der Rückgabe. Die Buildnummer ist durch die Bits 3-8 des HiWord-Wertes der Rückgabe zu ermitteln. Bit 1 des HiWord-Wertes und der LoByte-Wert des HiWord-Wertes der Rückgabeinterpretieren das Betriebssystem ! Verrückt was ?
Beispiel:
Private Declare Function GetVersion Lib "kernel32" () As Long
Private Sub Command1_Click() Dim Major As Long, Minor As Long, Build As Long, OS As String ' Major Version (LoWord -< LoByte) Major = GetVersion And &HFFFF& And &HFF& ' Minor Version (LoWord -< HiByte) Minor = (GetVersion And &HFFFF&) If Minor And &H8000 Then Minor = &H80 Or ((Minor And &H7FFF) \ &HFF) Else Minor = Minor \ 256 End If ' Build Version (HiWord) If GetVersion < 2147483648# Then ' Windows NT/2000/XP Build = (GetVersion And &HFFFF0000) \ &H10000 If Major = 5 Then OS = "Windows XP" ElseIf Major = 4 Then OS = "Windows NT 4." & Minor ElseIf Major = 3 Then OS = "Windows NT 3." & Minor End If ElseIf dwWindowsMajorVersion < 4 Then ' Win32 Build = (GetVersion And &HFFFF0000) \ &H10000 Or &H8000 OS = "Windows 3.1 in Win32 Kompatibilitäsmodus" Else ' Windows 95, 98, ME Build = 0 OS = "Windows 9x (Win32) 16-Bit" End If MsgBox "Version " & Major & "." & Minor & " Build: " & Build, _ vbInformation, OS End Sub