Stuart McLachlan
stuart at lexacorp.com.pg
Tue Aug 31 06:43:04 CDT 2004
On 31 Aug 2004 at 21:11, Darren DICK wrote:
> Anyone got any code to determine the OS and version?
>
Simple one:
Declare Function GetVersion Lib "kernel32" () As Long
Public Function GetWinVersion() As String
Dim Ver As Long, WinVer As Long
Ver = GetVersion()
WinVer = Ver And &HFFFF&
'retrieve the windows version
GetWinVersion = Format((WinVer Mod 256) + ((WinVer \ 256) / 100),
"Fixed")
End Function
Longer one:
Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" _
(lpVersionInformation As OSVERSIONINFO) As Long
Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type
Function GetWinVersion2() As String
Dim OSInfo As OSVERSIONINFO
Dim lngRetVal As Long
Dim strVersion As String
OSInfo.dwOSVersionInfoSize = Len(OSInfo)
lngRetVal = GetVersionEx(OSInfo)
If lngRetVal = 0 Then
GetWinVersion2 = "Error Getting Version Information"
Else
Select Case OSInfo.dwPlatformId
Case 0
strVersion = "Windows 32s "
Case 1
strVersion = "Windows 95/98"
Case 2
strVersion = "Windows NT "
End Select
strVersion = strVersion & " Win version:" _
& Str$(OSInfo.dwMajorVersion) & "." _
& LTrim(Str(OSInfo.dwMinorVersion)) _
& " Build: " + Str(OSInfo.dwBuildNumber)
GetWinVersion2 = strVersion
End If
End Function
--
Stuart