ACC: Using Visual Basic to Determine Windows 95 or NT VersionID: Q140484
|
This article describes how you can use the GetVersionEx() Windows API
function to determine the version number of the operating system (Microsoft
Windows NT or Windows 95) running on the computer.
This article assumes that you are familiar with Visual Basic for
Applications and with creating Microsoft Access applications using the
programming tools provided with Microsoft Access. For more information
about Visual Basic for Applications, please refer to your version of the
"Building Applications with Microsoft Access" manual.
Although the GetVersion() function is still supported under Win32, it has
been superseded by GetVersionEx(), which identifies Windows 95, returns
more accurate information about the build of Windows, and no longer returns
the version of MS-DOS.
The following example function demonstrates how to use the GetVersionEx()
Windows API function:
'====================================
' Global Declarations
'====================================
Option Explicit
Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128 ' Maintenance string for PSS usage.
End Type
Public Const VER_PLATFORM_WIN32s = 0
Public Const VER_PLATFORM_WIN32_WINDOWS = 1
Public Const VER_PLATFORM_WIN32_NT = 2
Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" _
(lpVersionInformation As OSVERSIONINFO) As Long
Function SysVersions32 ()
Dim v As OSVERSIONINFO, retval As Long
Dim WindowsVersion As String, BuildVersion As String
Dim PlatformName As String
v.dwOSVersionInfoSize = Len(v)
retval = GetVersionEx(v)
WindowsVersion = v.dwMajorVersion & "." & v.dwMinorVersion
BuildVersion = v.dwBuildNumber And &HFFFF&
Select Case v.dwPlatformId
Case VER_PLATFORM_WIN32_WINDOWS
PlatformName = "Windows 95"
Case VER_PLATFORM_WIN32_NT
PlatformName = "Windows NT"
End Select
MsgBox "Platform: " & PlatformName & vbCrLf & _
"Version: " & WindowsVersion & vbCrLf & _
"Build: " & BuildVersion
End Function
?SysVersions32()Note that the message box displays the operating system's name, version, and build number.
This article is the counterpart to the article "ACC: How to Determine
Windows and MS-DOS Versions" (Q109723), which describes how to use the
GetVersion() function with Microsoft Access 2.0 and 1.x to return the
version of Windows 3.x and MS-DOS.
Microsoft Win32 SDK Reference
Additional query words: Win95
Keywords : kbprg kbdta AccCon KbVBA
Version : WINDOWS:7.0,97
Platform : WINDOWS
Issue type : kbhowto
Last Reviewed: August 2, 1999