1.内存的分配情况;
2.怎样知道一个软件运行时的内存地址.

解决方案 »

  1.   

    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