Rapid-Q by William Yu (c)1999-2000 .

Back to holyguard.net

Visualizza il Sistema Operativo

'get OS version



TYPE OSVERSIONINFO

                dwOSVersionInfoSize As Long

                dwMajorVersion As Long

                dwMinorVersion As Long

                dwBuildNumber As Long

                dwPlatformId As Long

                szCSDVersion As String * 128

END TYPE



Const VER_PLATFORM_WIN32s = 0

Const VER_PLATFORM_WIN32_WINDOWS = 1

Const VER_PLATFORM_WIN32_NT = 2



Declare Function GetLastError Lib "kernel32.dll" Alias_

"GetLastError" () As Long

Declare Function GetVersionEx Lib "kernel32.dll" Alias_

"GetVersionExA" (ByVal lpVersionInformation As LONG)As Long



DIM rtn AS LONG, FLong AS DOUBLE

DIM OSV AS OSVERSIONINFO, Mem AS QMEMORYSTREAM



OSV.dwOSVersionInfoSize=sizeof(OSV)

Mem.WriteUDT(OSV)

rtn=GetVersionEx(Mem.Pointer)

IF rtn<>0 THEN

                Mem.Position=0

                Mem.ReadUDT(OSV)

                PRINT hex$(OSV.dwMajorVersion)

                PRINT hex$(OSV.dwMinorVersion)

                PRINT hex$(OSV.dwBuildNumber AND &H0000FFFF)

                PRINT hex$(OSV.dwPlatformId)

                PRINT varptr$(OSV.szCSDVersion)

                sleep 5

ELSE

                print str$(getlasterror())+" "+str$(rtn)

END IF