vba get windows version code example

Example: vba get windows version

Private Type OSVERSIONINFO
  dwOSVersionInfoSize As Long
  dwMajorVersion As Long
  dwMinorVersion As Long
  dwBuildNumber As Long
  dwPlatformId As Long
  szCSDVersion As String * 128
End Type

' API declaration (both 32 and 64 bits)
#If VBA7 Then
    Public Declare PtrSafe Function GetVersionExA _
        Lib "kernel32" (lpVersionInformation As OSVERSIONINFO) As Integer
#Else
    Public Declare Function GetVersionExA _
        Lib "kernel32" (lpVersionInformation As OSVERSIONINFO) As Integer
#End If

Function getVersionWindows() As String
    Dim osInfo As OSVERSIONINFO
    Dim iVersionExa As Integer
    With osInfo
        .dwOSVersionInfoSize = 148
        .szCSDVersion = Space$(128)
        iVersionExa = GetVersionExA(osInfo)
        getVersionWindows = osInfo.dwMajorVersion & "." & osInfo.dwMinorVersion
    End With
End Function
' ------------------------------------------------------------------------------
Sub TestMe()
    Debug.Print "Windows version : " & getVersionWindows
End Sub

Tags:

Misc Example