WIN32 API的函数GlobalMemoryStatus()可获取系统中当前内存状态的信息。Public Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As MEMORYSTATUS)Public 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说明: 必须设置表示该数据结构长度的dwLength成员之后,才能传递变元到GlobalMenorystatus()函数;其他字段由函数设置。 成员 说明 DwLength MEMORYSTATUS数据结构的长度 DwMenmoryLoad 内存使用百分比 DwTotalPhys 实际内存总字节数 DwAvaiPhys 可用的实际内存字节数 DwtotalPageFile 分页文件总字节数 DwAvailpageFile 分页文件可用字节数 DwTotalVirtal 虚拟内存的总字节数 DwAvailVirtual 可用的虚拟内存字节数 实例: Option ExplicitPrivate 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 TypePrivate Sub Command1_Click() Dim memStat As MEMORYSTATUS memStat.dwLength = Len(memStat) Call GlobalMemoryStatus(memStat) Label1(0).Caption = memStat.dwMemoryLoad Label1(1).Caption = memStat.dwTotalPhys Label1(2).Caption = memStat.dwAvailPhys Label1(3).Caption = memStat.dwTotalPageFile Label1(4).Caption = memStat.dwAvailPageFile Label1(5).Caption = memStat.dwTotalVirtual Label1(6).Caption = memStat.dwAvailVirtual End Sub
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说明:
必须设置表示该数据结构长度的dwLength成员之后,才能传递变元到GlobalMenorystatus()函数;其他字段由函数设置。 成员 说明
DwLength MEMORYSTATUS数据结构的长度
DwMenmoryLoad 内存使用百分比
DwTotalPhys 实际内存总字节数
DwAvaiPhys 可用的实际内存字节数
DwtotalPageFile 分页文件总字节数
DwAvailpageFile 分页文件可用字节数
DwTotalVirtal 虚拟内存的总字节数
DwAvailVirtual 可用的虚拟内存字节数
实例:
Option ExplicitPrivate 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 TypePrivate Sub Command1_Click()
Dim memStat As MEMORYSTATUS
memStat.dwLength = Len(memStat)
Call GlobalMemoryStatus(memStat)
Label1(0).Caption = memStat.dwMemoryLoad
Label1(1).Caption = memStat.dwTotalPhys
Label1(2).Caption = memStat.dwAvailPhys
Label1(3).Caption = memStat.dwTotalPageFile
Label1(4).Caption = memStat.dwAvailPageFile
Label1(5).Caption = memStat.dwTotalVirtual
Label1(6).Caption = memStat.dwAvailVirtual
End Sub