我想通过API函数得到当前windows(例如是98、ME、2000、XP等系统)名称(应该是这么说的)。希望能帮帮我。谢了!!!

解决方案 »

  1.   

    http://search.csdn.net/Expert/topic/107/107158.xml?temp=.5238764
      

  2.   

    [转贴]
    Option ExplicitPrivate Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As LongPrivate Type OSVERSIONINFO
        dwOSVersionInfoSize As Long
        dwMajorVersion As Long
        dwMinorVersion As Long
        dwBuildNumber As Long
        dwPlatformId As Long
        szCSDVersion As String * 128        ' Maintenance string for PSS usage
        osName As String                    ' 我自己加的, 操作系统的名称
    End Type' 获得 Windows 操作系统的版本
    ' OSVERSIONINFO 结构中的 osName 返回操作系统的名称
    Private Function GetWindowsVersion() As OSVERSIONINFO
        Dim ver As OSVERSIONINFO
        ver.dwOSVersionInfoSize = 148
        GetVersionEx ver
        With ver
            Select Case .dwPlatformId
                Case 1
                    Select Case .dwMinorVersion
                        Case 0
                            .osName = "Windows 95"
                        Case 10
                            .osName = "Windows 98"
                        Case 90
                            .osName = "Windows Mellinnium"
                    End Select
                Case 2
                    Select Case .dwMajorVersion
                        Case 3
                            .osName = "Windows NT 3.51"
                        Case 4
                            .osName = "Windows NT 4.0"
                        Case 5
                            Select Case .dwMinorVersion
                                Case 0
                                    .osName = "Windows 2000"
                                Case 1
                                    .osName = "Windows XP"
                                Case 2
                                    .osName = "Windows Server 2003"
                            End Select
                    End Select
                 Case Else
                    .osName = "Failed"
            End Select
        End With
        GetWindowsVersion = ver
    End FunctionPrivate Sub Command1_Click()
        Dim ver As OSVERSIONINFO
        ver = GetWindowsVersion()
        With ver
            Debug.Print .osName, .dwMajorVersion, .dwMinorVersion, .dwBuildNumber, .dwPlatformId, .szCSDVersion
        End With
    End Sub
      

  3.   

    注:以上From Goodname008 的文章
      

  4.   

    这个文章也不错,还可以取得 一些硬件信息 譬如cpu的型号等
    http://support.microsoft.com/kb/q147886/