我做了一个显示页面一些使用情况:
 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
Private Declare Sub globalmemorystatus Lib "kernel32" (lpbuffer As memorystatus)
Dim memstat As memorystatus
Private Sub Command1_Click()
    End
End SubPrivate Sub Form_Load()
    Timer1.Interval = 1000
End SubPrivate Sub Timer1_Timer()
    memstat.dwlength = Len(memstat)
    globalmemorystatus memstat
    Cls
    Print Str(Time)
    Print "目前存储管理系统的繁忙程序(1---100):" & memstat.dwmemoryload
    Print "物理存储器的容量(字节):            " & memstat.dwtotalphys
    Print "目前物理存储器的可用的容量(字节):  " & memstat.dwavailphys
    Print "硬盘上页面文件的总容量(字节):      " & memstat.dwtotalpagefile
    Print "目前硬盘上页面文件的可用容量(字节): " & memstat.dwavailpagefile
    Print "进程虚空间中用户空间的容量(字节):   " & memstat.dwtotalvirtual
    Print "目前本进程虚空间中用户空间的可用容量:" & memstat.dwavailvirtual
 End Sub
运行后说打不到DLL入口,globalmemorystatus in kernel32

解决方案 »

  1.   

    api声明应该是
    Private Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As memorystatus)
      

  2.   

    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
    Private Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As MEMORYSTATUS)
    Private Sub Form_Load()
        Dim MemStat As MEMORYSTATUS
        'retrieve the memory status
        GlobalMemoryStatus MemStat
        MsgBox "You have" + Str$(MemStat.dwTotalPhys / 1024) + " Kb total memory and" + Str$(MemStat.dwAvailPageFile / 1024) + " Kb available PageFile memory."
    End Sub