代码改变世界

VB判断系统是否为 Vista 或更高版本系统

2009-12-13 00:29  电脑人生  阅读(164)  评论(0编辑  收藏  举报

Option Explicit

Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OVSERSIONINFOEX) As Long

Private Type OVSERSIONINFOEX
    dwOVSersionInfoSize As Long
    dwMajorVersion As Long
    dwMinorVersion As Long
    dwBuildNumber As Long
    dwPlatformId As Long
    szCSDVersion As String * 128
    wServicePackMajor As Integer
    wServicePackMinor As Integer
    wSuiteMask As Integer
    wProductType As Byte
    wReserved As Byte
End Type

Public Function IsVistaSystem() As Boolean
    Dim OVS As OVSERSIONINFOEX
    OVS.dwOVSersionInfoSize = Len(OVS)
    If GetVersionEx(OVS) = 1 Then
       If OVS.dwPlatformId = 2 And OVS.dwMajorVersion >= 6 And OVS.dwMinorVersion >= 0 Then
          IsVistaSystem = True
       End If
    End If
End Function