VB-Homepage Tipp 130

Windows Version ermitteln

Was soll ich groß sagen, man kann einfach mit diesem kleinen Tipp ermitteln, ob das Programm unter Windows3.1 oder Windows95 läuft und ggf. entsprechend darauf reagieren. Und mit der Ergänzung für 32Bit Windows lassen sich die Versionen von
Windows95 und NT4 ermitteln.
Ergänzung 31.07.98 ..... - am Ende der Seite

16Bit
winver.mak
WINVER.FRM
ProjWinSize=152,402,248,215
ProjWinShow=2
IconForm="Form1"
Title="Windowsversion"
ExeName="WINVER.EXE"

winver.frm
VERSION 2.00
Begin Form Form1
BackColor = &H00C0C0C0&
BorderStyle = 3 'Fixed Double
Caption = "VB-Homepage Tipp"
ClientHeight = 1110
ClientLeft = 1245
ClientTop = 3375
ClientWidth = 3870
Height = 1515
Left = 1185
LinkTopic = "Form1"
ScaleHeight = 1110
ScaleWidth = 3870
Top = 3030
Width = 3990
Begin Label Label1
Alignment = 2 'Center
BackStyle = 0 'Transparent
Caption = "Ermitteln der Windowsversion"
FontBold = 0 'False
FontItalic = 0 'False
FontName = "MS Sans Serif"
FontSize = 8.25
FontStrikethru = 0 'False
FontUnderline = 0 'False
Height = 255
Left = 120
TabIndex = 1
Top = 720
Width = 3615
End
Begin Label Version
Alignment = 2 'Center
BackStyle = 0 'Transparent
BorderStyle = 1 'Fixed Single
FontBold = -1 'True
FontItalic = 0 'False
FontName = "Arial Rounded MT Bold"
FontSize = 12
FontStrikethru = 0 'False
FontUnderline = 0 'False
Height = 375
Left = 120
TabIndex = 0
Top = 240
Width = 3615
End
End
Option Explicit
'Declare Function GetDeviceCaps Lib "GDI" (ByVal hDC As Integer, ByVal nIndex As Integer) As Integer
Declare Function GetVersion& Lib "Kernel" ()
Sub Form_Load ()
If WINVER() = 3.95 Then Version = "Windows 95" Else
If WINVER() <= 3.11 Then Version = "Windows 3.1x" Else
End Sub
Function WINVER () As Single
Dim vernum&, verword%, Erg$
vernum& = GetVersion&()
verword% = CInt(vernum& / &H10000)
verword% = CInt(vernum& And &HFFFF&)
WINVER = (verword% And &HFF) + CInt(verword% / 256) / 100
End Function

Um den Code zu nutzen, erstellen Sie sich mit einem Editor (z.Bsp. Notepad) Dateien
die Sie wie angegeben benennen und kopieren Sie den Code hinein. Speichern Sie Ihre
Datei ab und öffnen Sie das Projekt entweder direkt aus einem Dateimanager oder öffnen
Sie Ihre VB Software und laden sich das Projekt.

#############################################################
Ergänzung
Ermitteln der Versionsnummer/Major/Minor/Build für VB4/5/6

32Bit
Allgemein/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 GetVersionExA Lib "kernel32" (lpVersionInformation As OSVERSIONINFO) As Integer
Fügen Sie ein Label-Objekt (Label1) und einen Command-Button Ihrer Form hinzu und geben dem Command-Button die nachfolgenden Anweisungen.
Private Sub Command1_Click()
Dim osinfo As OSVERSIONINFO
Dim retvalue As Integer

osinfo.dwOSVersionInfoSize = 148
osinfo.szCSDVersion = Space$(128)

retvalue = GetVersionExA(osinfo)

If osinfo.dwPlatformId = 1 Then 'WIN95
Label1.Caption = "Windows 95 " & " /Version: " & osinfo.dwMajorVersion & "." & osinfo.dwMinorVersion & " /Build: " & osinfo.dwBuildNumber & " /Spezial: " & Trim(osinfo.szCSDVersion)
ElseIf osinfo.dwPlatformId = 2 Then 'NT4
Label1.Caption = "Windows NT " & " /Version: " & osinfo.dwMajorVersion & "." & osinfo.dwMinorVersion & " /Build: " & osinfo.dwBuildNumber & " /Spezial: " & Trim(osinfo.szCSDVersion)
End If

End Sub

Starten Sie das Projekt mit F5 und klicken auf den Command Button.


Tipp-Download

Quelle :

Zurück zur Übersichtsseite