Operating System Version:
Code: Select all
Windows 10 6.4
Windows 8.1 6.3
Windows 8 6.2
Windows 7 6.1
Code: Select all
RtlGetVersion()
{
static RTL_OSVIEX, init := VarSetCapacity(RTL_OSVIEX, 284, 0) && NumPut(284, RTL_OSVIEX, "UInt")
if (DllCall("ntdll.dll\RtlGetVersion", "Ptr", &RTL_OSVIEX) != 0)
return "Error in RtlGetVersion"
return { 1 : NumGet(RTL_OSVIEX, 0, "UInt" ), 2 : NumGet(RTL_OSVIEX, 4, "UInt" )
, 3 : NumGet(RTL_OSVIEX, 8, "UInt" ), 4 : NumGet(RTL_OSVIEX, 12, "UInt" )
, 5 : NumGet(RTL_OSVIEX, 16, "UInt" ), 6 : StrGet(&RTL_OSVIEX + 20, 128, "UTF-16")
, 7 : NumGet(RTL_OSVIEX, 276, "UShort"), 8 : NumGet(RTL_OSVIEX, 278, "UShort")
, 9 : NumGet(RTL_OSVIEX, 280, "UShort"), 10 : NumGet(RTL_OSVIEX, 282, "UChar" ) }
}
RtlGetVersion := RtlGetVersion()
MsgBox % "RtlGetVersion function`n"
. "RTL_OSVERSIONINFOEXW structure`n`n"
. "OSVersionInfoSize:`t`t" RtlGetVersion[1] "`n"
. "MajorVersion:`t`t" RtlGetVersion[2] "`n"
. "MinorVersion:`t`t" RtlGetVersion[3] "`n"
. "BuildNumber:`t`t" RtlGetVersion[4] "`n"
. "PlatformId:`t`t" RtlGetVersion[5] "`n"
. "CSDVersion:`t`t" RtlGetVersion[6] "`n"
. "ServicePackMajor:`t`t" RtlGetVersion[7] "`n"
. "ServicePackMinor:`t`t" RtlGetVersion[8] "`n"
. "SuiteMask:`t`t" RtlGetVersion[9] "`n"
. "ProductType:`t`t" RtlGetVersion[10]
Code: Select all
GetVersionEx()
{
static OSVEREX, init := VarSetCapacity(OSVEREX, 284, 0) && NumPut(284, OSVEREX, "UInt")
if !(DllCall("kernel32.dll\GetVersionEx", "Ptr", &OSVEREX))
return DllCall("kernel32.dll\GetLastError")
return { 1 : NumGet(OSVEREX, 0, "UInt" ), 2 : NumGet(OSVEREX, 4, "UInt" )
, 3 : NumGet(OSVEREX, 8, "UInt" ), 4 : NumGet(OSVEREX, 12, "UInt" )
, 5 : NumGet(OSVEREX, 16, "UInt" ), 6 : StrGet(&OSVEREX + 20, 128, "UTF-16")
, 7 : NumGet(OSVEREX, 276, "UShort"), 8 : NumGet(OSVEREX, 278, "UShort")
, 9 : NumGet(OSVEREX, 280, "UShort"), 10 : NumGet(OSVEREX, 282, "UChar" ) }
}
GetVersionEx := GetVersionEx()
MsgBox % "GetVersionEx function`n"
. "OSVERSIONINFOEX structure`n`n"
. "OSVersionInfoSize:`t`t" GetVersionEx[1] "`n"
. "MajorVersion:`t`t" GetVersionEx[2] "`n"
. "MinorVersion:`t`t" GetVersionEx[3] "`n"
. "BuildNumber:`t`t" GetVersionEx[4] "`n"
. "PlatformId:`t`t" GetVersionEx[5] "`n"
. "CSDVersion:`t`t" GetVersionEx[6] "`n"
. "ServicePackMajor:`t`t" GetVersionEx[7] "`n"
. "ServicePackMinor:`t`t" GetVersionEx[8] "`n"
. "SuiteMask:`t`t" GetVersionEx[9] "`n"
. "ProductType:`t`t" GetVersionEx[10]