Public Type OSVERSIONINFOEX
dwOSVersionInfoSize As Long
dwMajorVersion As
Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As
Long
szCSDVersion As String * 128
End Type
Public Const VER_PLATFORM_WIN32s = 0
Public Const
VER_PLATFORM_WIN32_WINDOWS = 1
Public Const VER_PLATFORM_WIN32_NT = 2
Declare Function GetVersionEx Lib "kernel32" _
Alias "GetVersionExA"
(lpVersionInformation As OSVERSIONINFOEX) As Long
Public Function OSVersion() As
String
Dim udtOSVersion As
OSVERSIONINFOEX
Dim lMajorVersion As
Long
Dim lMinorVersion As Long
Dim
lPlatformID As Long
Dim sAns As
String
udtOSVersion.dwOSVersionInfoSize = Len(udtOSVersion)
GetVersionEx udtOSVersion
lMajorVersion =
udtOSVersion.dwMajorVersion
lMinorVersion =
udtOSVersion.dwMinorVersion
lPlatformID =
udtOSVersion.dwPlatformId
Select
Case lMajorVersion
Case
5
sAns =
"Windows 2000"
Case
4
If
lPlatformID = VER_PLATFORM_WIN32_NT
Then
sAns = "Windows NT
4.0"
Else
sAns = IIf(lMinorVersion = 0,
_
"Windows 95", "Windows
98")
End
If
Case
3
If
lPlatformID = VER_PLATFORM_WIN32_NT
Then
sAns = "Windows NT
3.x"
Else
sAns = "Windows
3.x"
End
If
Case
Else
sAns
= "Unknown Windows Version"
End
Select
OSVersion = sAns
End Function
Private Sub Form_Load()
MsgBox "Windows version
detected: " & OSVersion
End Sub