office交流網(wǎng)--QQ交流群號(hào)及微信交流群

Access培訓(xùn)群:792054000         Excel免費(fèi)交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

微信交流群(請(qǐng)用微信掃碼)

        

VBA獲取操作系統(tǒng)的版本號(hào)(支持windows xp,windows 2003 ,win7 ,win10)

2017-09-17 09:06:00
zstmtony
原創(chuàng)
8790

VBA獲取操作系統(tǒng)的版本號(hào)(支持windows xp,windows 2003 ,win7 ,win10)


Public GetOsVersion() As String
    Dim objWMIService, colItems, objItem, strOSversion As String
    Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
    Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
    For Each objItem In colItems
        strOSversion = objItem.Version
    Next
    Select Case Left(strOSversion, 3)
        Case "5.2": strOSversion = "Windows Server 2003"
        Case "5.0": strOSversion = "Windows 2000"
        Case "5.1": strOSversion = "Windows XP"
        Case "6.0": strOSversion = "windows vista"
        Case "6.1": strOSversion = "Win7"
        Case "6.2": strOSversion = "Win8"
        Case "6.3": strOSversion = "Win8.1"
        Case "10.": strOSversion = "Win10"
        Case Else: strOSversion = "i don't know"
    End Select
     GetOsVersion=strOSversion
End Sub
'其它獲取系統(tǒng)版本的相關(guān)VB 代碼 Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONONFO) As Long
Private Type OSVERSIONONFO
dwOSVersioninfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformld As Long
dwCSDVersion As String * 128
End Type
Public Function SystemVer() As Variant
Dim Osinfor As OSVERSIONONFO, StrOsName As String
Osinfor.dwOSVersioninfoSize = Len(Osinfor)
GetVersionEx Osinfor
Select Case Osinfor.dwPlatformld
       Case 0
            StrOsName = "Windows 32s"
       Case 1
          Select Case Osinfor.dwMinorVersion
                 Case 0
                      StrOsName = "Windows 95"
                 Case 10
                      StrOsName = "Windows 98"
                 Case 90
                      StrOsName = "Windows Mellinnium"
          End Select
       Case 2
          Select Case Osinfor.dwMajorVersion
                 Case 3
                      StrOsName = "WindowsNT 3.51"
                 Case 4
                      StrOsName = "WindowsNT 4.0"
                 Case 5
                      Select Case Osinfor.dwMinorVersion
                             Case 0
                                  StrOsName = "Windows 2000"
                             Case 1
                                  StrOsName = "Windows XP"
                             Case 2
                                  StrOsName = "Windows 2003"
                      End Select
                 Case 6
                      Select Case Osinfor.dwMinorVersion
                             Case 0
                                  StrOsName = "Windows Vista"
                             Case 1
                                  StrOsName = "Windows 7"
                      End Select
         End Select
       Case Else
            StrOsName = "未知系統(tǒng)版本"
       End Select
       SystemVer = StrOsName
End Function
Private Sub Command1_Click()
  MsgBox SystemVer
End Sub 
分享
文章分類
聯(lián)系我們
聯(lián)系人: 王先生
Email: 18449932@qq.com
QQ: 18449932
微博: officecn01
移動(dòng)訪問