VBcoders Guest



Don't have an account yet? Register
 


Forgot Password?



Get usefull Windows information with GetSystemInfo API call

by VB Pro (6 Submissions)
Category: Windows System Services
Compatability: Visual Basic 4.0 (32-bit)
Difficulty: Unknown Difficulty
Originally Published: Thu 5th August 1999
Date Added: Mon 8th February 2021
Rating: (1 Votes)

Get usefull Windows information with GetSystemInfo API call

API Declarations


dwOemID As Long
dwPageSize As Long
lpMinimumApplicationAddress As Long
lpMaximumApplicationAddress As Long
dwActiveProcessorMask As Long
dwNumberOrfProcessors As Long
dwProcessorType As Long
dwAllocationGranularity As Long
dwReserved As Long
End Type

Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type

Type MEMORYSTATUS
dwLength As Long
dwMemoryLoad As Long
dwTotalPhys As Long
dwAvailPhys As Long
dwTotalPageFile As Long
dwAvailPageFile As Long
dwTotalVirtual As Long
dwAvailVirtual As Long
End Type

'The following three Declare lines must be each entered on a single
'line.
Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" _
(LpVersionInformation As OSVERSIONINFO) As Long
Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As _
MEMORYSTATUS)
Declare Sub GetSystemInfo Lib "kernel32" (lpSystemInfo As _
SYSTEM_INFO)

Public Const PROCESSOR_INTEL_386 = 386
Public Const PROCESSOR_INTEL_486 = 486
Public Const PROCESSOR_INTEL_PENTIUM = 586
Public Const PROCESSOR_MIPS_R4000 = 4000
Public Const PROCESSOR_ALPHA_21064 = 21064


Rate Get usefull Windows information with GetSystemInfo API call



    Dim msg As String         ' Status information.
    Dim NewLine As String     ' New-line.
    Dim ret As Integer        ' OS Information
    Dim ver_major As Integer  ' OS Version
    Dim ver_minor As Integer  ' Minor Os Version
    Dim Build As Long         ' OS Build
    
    NewLine = Chr(13) + Chr(10)  ' New-line.
     ' Get operating system and version.
    Dim verinfo As OSVERSIONINFO
    verinfo.dwOSVersionInfoSize = Len(verinfo)
    ret = GetVersionEx(verinfo)
    If ret = 0 Then
        MsgBox "Error Getting Version Information"
        End
    End If
    
    Select Case verinfo.dwPlatformId
        Case 0
            msg = msg + "Windows 32s "
        Case 1
            msg = msg + "Windows 95 "
        Case 2
            msg = msg + "Windows NT "
    End Select
    
    ver_major = verinfo.dwMajorVersion
    ver_minor = verinfo.dwMinorVersion
    Build = verinfo.dwBuildNumber
    msg = msg & ver_major & "." & ver_minor
    msg = msg & " (Build " & Build & ")" & NewLine & NewLine
    
    ' Get CPU type and operating mode.
    Dim sysinfo As SYSTEM_INFO
    GetSystemInfo sysinfo
    msg = msg + "CPU: "
    Select Case sysinfo.dwProcessorType
        Case PROCESSOR_INTEL_386
            msg = msg + "Intel 386" + NewLine
        Case PROCESSOR_INTEL_486
            msg = msg + "Intel 486" + NewLine
        Case PROCESSOR_INTEL_PENTIUM
            msg = msg + "Intel Pentium" + NewLine
        Case PROCESSOR_MIPS_R4000
            msg = msg + "MIPS R4000" + NewLine
        Case PROCESSOR_ALPHA_21064
            msg = msg + "DEC Alpha 21064" + NewLine
        Case Else
            msg = msg + "(unknown)" + NewLine
    End Select
    
    msg = msg + NewLine
    
    ' Get free memory.
    Dim memsts As MEMORYSTATUS
    Dim memory As Long
    GlobalMemoryStatus memsts
    memory = memsts.dwTotalPhys
    msg = msg + "Total Physical Memory: "
    msg = msg + Format(memory \ 1024, "###,###,###") + "K" + NewLine
    memory = memsts.dwAvailPhys
    msg = msg + "Available Physical Memory: "
    msg = msg + Format(memory \ 1024, "###,###,###") + "K" + NewLine
    memory = memsts.dwTotalVirtual
    msg = msg + "Total Virtual Memory: "
    msg = msg + Format(memory \ 1024, "###,###,###") + "K" + NewLine
    memory = memsts.dwAvailVirtual
    msg = msg + "Available Virtual Memory: "
    msg = msg + Format(memory \ 1024, "###,###,###") + "K" + NewLine
    
    MsgBox msg, vbOKOnly, "System Info"
End Sub


Download this snippet    Add to My Saved Code

Get usefull Windows information with GetSystemInfo API call Comments

No comments have been posted about Get usefull Windows information with GetSystemInfo API call. Why not be the first to post a comment about Get usefull Windows information with GetSystemInfo API call.

Post your comment

Subject:
Message:
0/1000 characters