Difference between revisions of "Windows version"

From HashVB
Jump to: navigation, search
m (Used the new API link template)
m (Link to the Inno KB article about MS changed teh format of windows version numbers.)
Line 25: Line 25:
 
| Windows 2000: || 5
 
| Windows 2000: || 5
 
|-  
 
|-  
| Windows XP: || 5.01 (This is not 5.1 as Microsoft changed the format)
+
| Windows XP: || 5.01 (This is not 5.1 as [http://www.jrsoftware.org/iskb.php?why501 Microsoft changed the format])
 
|}
 
|}
  

Revision as of 23:39, 2 December 2006

float
 This article is based on Visual Basic 6. Find other Visual Basic 6 articles.

There is a function in windows that will tell you what version it is running called, unsurprisingly, GetVersion()

The data this returns is not quite as friendly as it could be, so this function converts it to a nice usable value:

Private Declare Function GetVersion Lib "kernel32" () As Long

Public Function WindowsVersion() As Single
Dim Version As Long
  
  Version = GetVersion()
  WindowsVersion = (Version And &HFF&) + (((Version And &HFF00&) \ &H100)) / 100
End Function

The values for each version of windows are as follows:

Windows NT 3.51: 3
Windows 3.1: 3.1
Windows NT 4: 4
Windows 95, 98 and ME: 4.1
Windows 2000: 5
Windows XP: 5.01 (This is not 5.1 as Microsoft changed the format)

See also