This code uses the GetVersionEX() API call to help determine the version of the operating system which is currently running.
Option Explicit 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 GetVersionEx Lib "kernel32" _ Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Boolean ' dwPlatforID Constants Public Const VER_PLATFORM_WIN32s = 0 Public Const VER_PLATFORM_WIN32_WINDOWS = 1 Public Const VER_PLATFORM_WIN32_NT = 2 ' Public Function IdentifyOperatingSystem() As String Dim rOsVersionInfo As OSVERSIONINFO Dim sOperatingSystem As String sOperatingSystem = "NONE" ' Pass the size of the structure into itself for the API call rOsVersionInfo.dwOSVersionInfoSize = Len(rOsVersionInfo) If GetVersionEx(rOsVersionInfo) Then Select Case rOsVersionInfo.dwPlatformId Case VER_PLATFORM_WIN32_NT If rOsVersionInfo.dwMajorVersion >= 5 Then If rOsVersionInfo.dwMinorVersion = 0 Then sOperatingSystem = "Windows 2000" Else sOperatingSystem = "Windows XP" End If Else sOperatingSystem = "Windows NT" End If Case VER_PLATFORM_WIN32_WINDOWS If rOsVersionInfo.dwMajorVersion >= 5 Then sOperatingSystem = "Windows ME" ElseIf rOsVersionInfo.dwMajorVersion = 4 And rOsVersionInfo.dwMinorVersion > 0 Then sOperatingSystem = "Windows 98" Else sOperatingSystem = "Windows 95" End If Case VER_PLATFORM_WIN32s sOperatingSystem = "Win32s" End Select End If IdentifyOperatingSystem = sOperatingSystem End Function
If there are any suggestions for updates then please drop me a mail at malcolm.smith@dragondrop.com.
© Dragon Drop. All Rights Reserved. Contact: webmaster@dragondrop.com