Here's my updated version of your code fafalone (incorporating the suggestions & feedback that followed the original posting).
Code:Public Function IsWin7OrGreater() As Boolean Dim lngMajor As Long Dim lngMinor As Long Dim lngBuild As Long GetWinVerInfo lngMajor, lngMinor, lngBuild IsWin7OrGreater = (lngMajor > 6& Or (lngMajor = 6& And lngMinor >= 1&)) End Function Public Function IsWin8OrGreater() As Boolean Dim lngMajor As Long Dim lngMinor As Long Dim lngBuild As Long GetWinVerInfo lngMajor, lngMinor, lngBuild IsWin8OrGreater = (lngMajor > 6& Or (lngMajor = 6& And lngMinor >= 2&)) End Function Public Function IsWin10OrGreater() As Boolean Dim lngMajor As Long Dim lngMinor As Long Dim lngBuild As Long GetWinVerInfo lngMajor, lngMinor, lngBuild IsWin10OrGreater = (lngMajor >= 10&) End Function Public Function IsWin11OrGreater() As Boolean Dim lngMajor As Long Dim lngMinor As Long Dim lngBuild As Long GetWinVerInfo lngMajor, lngMinor, lngBuild IsWin11OrGreater = (lngMajor > 10& Or (lngMajor = 10& And lngBuild >= 22000&)) End Function Private Sub GetWinVerInfo(ByRef plngMajor As Long, ByRef plngMinor As Long, ByRef plngBuild As Long) CopyMemory plngMajor, ByVal &H7FFE026C, 4 CopyMemory plngMinor, ByVal &H7FFE0270, 4 CopyMemory plngBuild, ByVal &H7FFE0260, 4 End Sub




Reply With Quote