Option Explicit
Private Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As MEMORYSTATUS)
Private 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
Public Sub ShowMemory()
Dim ms As MEMORYSTATUS
Dim msg As String
ms.dwLength = Len(ms)
GlobalMemoryStatus ms
Lblmemtot.Caption = "Memoria Fisica Totale = " & getbytes(ms.dwTotalPhys)
Lblmemdisp.Caption = "Memoria Fisica Disponibile = " & getbytes(ms.dwAvailPhys)
Lblmemused.Caption = "Memoria Fisica Usata = " & ms.dwMemoryLoad & "%"
lblpag.Caption = "File di Paging totale = " & getbytes(ms.dwTotalPageFile)
Lblmemvirt.Caption = "Memoria Virtuale Totale = " & getbytes(ms.dwTotalVirtual)
Lblmemvdisp.Caption = "Memoria virtuale disponibile = " & getbytes(ms.dwAvailVirtual)
msg = "Total Physic Memory = " & getbytes(ms.dwTotalPhys) & vbCrLf & _
"Available physical memory = " & getbytes(ms.dwAvailPhys) & vbCrLf & _
"Memory Load = " & ms.dwMemoryLoad & "%" & vbCrLf & _
"Total Page File = " & getbytes(ms.dwTotalPageFile) & vbCrLf & _
"Total Virtual Memory = " & getbytes(ms.dwTotalVirtual) & vbCrLf & _
"Available VirtualMemory = " & getbytes(ms.dwAvailVirtual)
'MsgBox msg, vbInformation, "Memory Information"
End Sub
Public Function getbytes(ByVal amount As Long) As String
amount = amount / 1024
getbytes = Format(amount, "###,###,###KB")
End Function
Private Sub Form_Load()
Call ShowMemory
lblnum.Caption = "CPU presenti = " & Environ$("NUMBER_OF_PROCESSORS")
lblarc.Caption = "Architettura = " & Environ$("PROCESSOR_ARCHITECTURE")
'Lblid.Caption = "Identificatore = " & Environ$("PROCESSOR_IDENTIFIER")
Lblliv.Caption = "Livello = " & Environ$("PROCESSOR_LEVEL")
lblrev.Caption = "Revisione = " & Environ$("PROCESSOR_REVISION")
lblpc.Caption = "Nome Computer = " & Environ$("COMPUTERNAME")
lbluser.Caption = "Utente = " & Environ$("USERNAME")
End Sub