Option ExplicitPrivate Type OSVERSIONINFOEX
    dwOSVersionInfoSize As Long
    dwMajorVersion As Long
    dwMinorVersion As Long
    dwBuildNumber As Long
    dwPlatformId As Long
    szCSDVersion As String * 128
End TypePrivate Const VER_PLATFORM_WIN32s = 0
Private Const VER_PLATFORM_WIN32_WINDOWS = 1
Private Const VER_PLATFORM_WIN32_NT = 2
Private Declare Function GetVersionEx Lib "kernel32" _
    Alias "GetVersionExA" (lpVersionInformation As _
    OSVERSIONINFOEX) As LongPrivate Sub Command1_Click()
    MsgBox OSVersion()
End SubPublic 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

解决方案 »

  1.   

    步骤1----建立新工程,在窗体上放置一个CommandButton按钮.
    步骤2----添加下列代码:
    Private Type OSVERSIONINFO
        dwOSVersionInfoSize As Long
        dwMajorVersion As Long
        dwMinorVersion As Long
        dwBuildNumber As Long
        dwPlatformId As Long
        szCSDVersion As String * 128
    End TypePrivate Declare Function GetVersionEx Lib "kernel32" Alias _
        "GetVersionExA" (lpVersionInformation As _
        OSVERSIONINFO) As BooleanPrivate Const VER_PLATFORM_WIN32s = 0
    Private Const VER_PLATFORM_WIN32_WINDOWS = 1
    Private Const VER_PLATFORM_WIN32_NT = 2Private Sub Command1_Click()
        Dim Ver As OSVERSIONINFO
        Ver.dwOSVersionInfoSize = Len(Ver)
        Call GetVersionEx(Ver)
        If Ver.dwPlatformId = 0 Then
            MsgBox "Win32"
        ElseIf Ver.dwPlatformId = 1 Then
            MsgBox "Win95,Win98"
        ElseIf Ver.dwPlatformId = 2 Then
            MsgBox "Winnt,win2000"
        Else
            MsgBox "Error"
        End If
    End Sub