Basic Univers
EnableExplicit
Import "shlwapi.lib"
StrFormatKBSizeA(Size.q, *BufStr, BufSize.l)
StrFormatByteSize64A(Size.q, *BufStr, BufSize.l)
EndImport
ProcedureDLL.s FormatKB(Size.q)
Protected BufStr.s{64}
If StrFormatKBSizeA(Size, @BufStr, 64)
ProcedureReturn PeekS(@BufStr, - 1, #PB_Ascii)
EndIf
EndProcedure
ProcedureDLL.s FormatSize(Size.q)
Protected BufStr.s{64}
If StrFormatByteSize64A(Size, @BufStr, 64)
ProcedureReturn PeekS(@BufStr, - 1, #PB_Ascii)
EndIf
EndProcedure
ProcedureDLL.q TotalPhys()
Protected mse.MEMORYSTATUSEX\dwLength = SizeOf(MEMORYSTATUSEX)
If GlobalMemoryStatusEx_(mse)
ProcedureReturn mse\ullTotalPhys
EndIf
EndProcedure
ProcedureDLL.q AvailPhys()
Protected mse.MEMORYSTATUSEX\dwLength = SizeOf(MEMORYSTATUSEX)
If GlobalMemoryStatusEx_(mse)
ProcedureReturn mse\ullAvailPhys
EndIf
EndProcedure
ProcedureDLL.q UsedPhys()
Protected mse.MEMORYSTATUSEX\dwLength = SizeOf(MEMORYSTATUSEX)
If GlobalMemoryStatusEx_(mse)
ProcedureReturn(mse\ullTotalPhys - mse\ullAvailPhys)
EndIf
EndProcedure
ProcedureDLL.q TotalPageFile()
Protected mse.MEMORYSTATUSEX\dwLength = SizeOf(MEMORYSTATUSEX)
If GlobalMemoryStatusEx_(mse)
ProcedureReturn mse\ullTotalPageFile
EndIf
EndProcedure
ProcedureDLL.q AvailPageFile()
Protected mse.MEMORYSTATUSEX\dwLength = SizeOf(MEMORYSTATUSEX)
If GlobalMemoryStatusEx_(mse)
ProcedureReturn mse\ullAvailPageFile
EndIf
EndProcedure
ProcedureDLL.q UsedPageFile()
Protected mse.MEMORYSTATUSEX\dwLength = SizeOf(MEMORYSTATUSEX)
If GlobalMemoryStatusEx_(mse)
ProcedureReturn(mse\ullTotalPageFile - mse\ullAvailPageFile)
EndIf
EndProcedure
ProcedureDLL.q TotalVirtual()
Protected mse.MEMORYSTATUSEX\dwLength = SizeOf(MEMORYSTATUSEX)
If GlobalMemoryStatusEx_(mse)
ProcedureReturn mse\ullTotalVirtual
EndIf
EndProcedure
ProcedureDLL.q AvailVirtual()
Protected mse.MEMORYSTATUSEX\dwLength = SizeOf(MEMORYSTATUSEX)
If GlobalMemoryStatusEx_(mse)
ProcedureReturn mse\ullAvailVirtual
EndIf
EndProcedure
ProcedureDLL.q UsedVirtual()
Protected mse.MEMORYSTATUSEX\dwLength = SizeOf(MEMORYSTATUSEX)
If GlobalMemoryStatusEx_(mse)
ProcedureReturn(mse\ullTotalVirtual - mse\ullAvailVirtual)
EndIf
EndProcedure
ProcedureDLL.q AvailExtendedVirtual()
Protected mse.MEMORYSTATUSEX\dwLength = SizeOf(MEMORYSTATUSEX)
If GlobalMemoryStatusEx_(mse)
ProcedureReturn mse\ullAvailExtendedVirtual
EndIf
EndProcedure
DisableExplicit
Debug ""
Debug "Mémoire Physique"
Debug "Total: " + FormatSize(TotalPhys())
Debug "Disponible: " + FormatSize(AvailPhys())
Debug "Utilisée: " + FormatSize(UsedPhys())
Debug ""
Debug "Mémoire Paginée"
Debug "Total: " + FormatSize(TotalPageFile())
Debug "Disponible: " + FormatSize(AvailPageFile())
Debug "Utilisée: " + FormatSize(UsedPageFile())
Debug ""
Debug "Mémoire Virtuelle"
Debug "Total: " + FormatSize(TotalVirtual())
Debug "Disponible: " + FormatSize(AvailVirtual())
Debug "Utilisée: " + FormatSize(UsedVirtual())
Debug ""
Debug "Mémoire Etendue: "
Debug "Disponible: " + FormatSize(AvailExtendedVirtual())
Debug ""