Get Windows OS versionTag(s): WinAPI/Registry
You can't rely on the PB Environment Object because it doesn't return enough details. For on W2K system, the Environment returns NT as the operating system. A better way is to call directly the Win API to query the OS version.
[local external function] FUNCTION ulong GetVersionExA( REF str_osversioninfo lpVersionInfo ) & LIBRARY "kernel32.dll"
[str_osversioninfo] ulong dwOSVersionInfoSize ulong dwmajorversion ulong dwminorversion ulong dwbuildnumber ulong dwplatformid CHARACTER SZCSDVERION[128]
dwMajorVersion
Windows 95: 4
Windows 98 4
Windows ME 4
Windows NT 3.51 3
Windows NT 4 4
Windows 2000 5
Windows XP 5
dwMinorVersion
Windows 95 0
Windows 98 10
Windows ME 90
Windows NT 3.51 51
Windows NT 4 0
Windows 2000 0
WINDOWS XP 1To distinguish between 95 and NT, you also need to check the dwPlatformId value
VER_PLATFORM_WIN32s 0 VER_PLATFORM_WIN32_WINDOWS 1 // WIN95 VER_PLATFORM_WIN32_NT 2 // NT
and from Powerscript, for example
str_osversioninfo lstr_osver
lstr_osver.dwosversioninfosize = 148
GetVersionExA( lstr_osver )
IF (lstr_osver.dwmajorversion = 5 AND lstr_osver.dwminorversion = 1) THEN
MessageBox("", "Running on XP");
END IF
mail_outline
Send comment, question or suggestion to howto@rgagnon.com
Send comment, question or suggestion to howto@rgagnon.com