如何用api知道windows是9x还是2000/xp?

解决方案 »

  1.   

    Public Declare Function GetVersionExA Lib "kernel32" (lpVersionInformation As OSVERSIONINFO) As Integer
    Public Type OSVERSIONINFO
       dwOSVersionInfoSize As Long
       dwMajorVersion As Long
       dwMinorVersion As Long
       dwBuildNumber As Long
       dwPlatformId As Long
       szCSDVersion As String * 128
    End Type
    Public Function GetVersion() As String
       Dim osinfo As OSVERSIONINFO
       Dim retvalue As Integer   osinfo.dwOSVersionInfoSize = 148
       osinfo.szCSDVersion = Space$(128)
       retvalue = GetVersionExA(osinfo)   With osinfo
        Select Case .dwPlatformId
            Case 1
                    Select Case .dwMinorVersion
                        Case 0
                            GetVersion = "Windows 95"
                        Case 10
                            GetVersion = "Windows 98"
                        Case 90
                            GetVersion = "Windows Mellinnium"
                    End Select
            Case 2
                    Select Case .dwMajorVersion
                        Case 3
                            GetVersion = "Windows NT 3.51"
                        Case 4
                            GetVersion = "Windows NT 4.0"
                        Case 5
                            If .dwMinorVersion = 0 Then
                                GetVersion = "Windows 2000"
                            Else
                                GetVersion = "Windows XP"
                            End If
                    End Select
             Case Else
                   GetVersion = "Failed"
        End Select
       End With
    End Function