[RESOLVED] Detecting Windows7
Anyone know the best way to determine whether the user is running windows7?
I have methods for isWindowsXP and isWindowsVista:
Code:
Function IsWindowsXP() As Boolean
Dim osvi As OSVERSIONINFO
Dim strCSDVersion As String
Dim MajorVersion, MinorVersion, ServicePack, PlatformId
osvi.dwOSVersionInfoSize = Len(osvi)
If GetVersionEx(osvi) = 0 Then
Exit Function
End If
strCSDVersion = StripTerminatorOS(osvi.szCSDVersion)
MajorVersion = osvi.dwMajorVersion
MinorVersion = osvi.dwMinorVersion
ServicePack = strCSDVersion
PlatformId = osvi.dwPlatformId
Const dwMaskXP = &H2&
Dim XP
XP = (PlatformId And dwMaskXP)
If MajorVersion = 5 And XP Then 'XP
IsWindowsXP = True
Else
IsWindowsXP = False
End If
'MsgBox "IsWindowsXP=" & IsWindowsXP & vbCrLf & " MAJOR VER=" & MajorVersion & vbCrLf & " XP = " & XP & vbCrLf & " PlatformId = " & PlatformId & vbCrLf & " MinOR VER=" & MinorVersion & vbCrLf & "ServicePack=" & ServicePack
End Function
Code:
Function IsWindowsVista() As Boolean
Dim osvi As OSVERSIONINFO
Dim strCSDVersion As String
Dim MajorVersion, MinorVersion, ServicePack, PlatformId
osvi.dwOSVersionInfoSize = Len(osvi)
If GetVersionEx(osvi) = 0 Then
Exit Function
End If
strCSDVersion = StripTerminator(osvi.szCSDVersion)
MajorVersion = osvi.dwMajorVersion
MinorVersion = osvi.dwMinorVersion
ServicePack = strCSDVersion
PlatformId = osvi.dwPlatformId
Const dwMaskVista = &H2&
'MsgBox "dwMaskVista: " & dwMaskVista, vbOKOnly 'mk
Dim Vista
Vista = (PlatformId And dwMaskVista)
If MajorVersion = 6 And Vista Then 'Vista
IsWindowsVista = True
Else
IsWindowsVista = False
End If
End Function
Currently, when running windows7, isWindowsXP returns false and isWindowsVista returns true. Ideally I need both to be false, and a new function isWindows7, which would return true.