【API Function】


[メモリの使用状況取得]
メモリの使用状況取得には、GlobalMemoryStatus関数を使用します。
この関数は、引数にMEMORYSTATUS構造体を持ち、ここにメモリ情報が格納されます。 この関数に戻り値はありません。


(GlobalMemoryStatus 関数の使用方法)

このサンプルでは、CommandButtonをクリックすることでメモリ情報を メッセージボックスに表示します。
フォームのGeneralセクションに次の宣言コードを追加して下さい。

'構造体の定義
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
'APIの宣言
Private Declare Sub GlobalMemoryStatus Lib "kernel32" _
           (lpBuffer As MEMORYSTATUS)

次に、フォームにCommandButtonを配置し、次のコードを追加します。

Private Sub Command1_Click()
    Dim MemSta As MEMORYSTATUS
    Dim TotalPhys As Long   '物理メモリ
    Dim TotalVirtual As Long'仮想メモリ
    Dim AvailPhys As Long   '空き物理メモリ
    Dim AvailVirtual As Long'空き仮想メモリ
    Dim msg As String
    
    '関数を呼び出す前に引数の構造体のサイズを格納しなくてはいけない
    MemSta.dwLength = Len(MemSta)
    Call GlobalMemoryStatus(MemSta)

    TotalPhys = MemSta.dwTotalPhys
    AvailPhys = MemSta.dwAvailPhys
    TotalVirtual = MemSta.dwTotalVirtual
    AvailVirtual = MemSta.dwAvailVirtual

    Call GetMemInfo(TotalPhys, AvailPhys, TotalVirtual, AvailVirtual)
    msg = "物理メモリ : " & TotalPhys & "バイト" & Chr(10) & _
          "空き物理メモリ : " & AvailPhys & "バイト" & Chr(10) & _
          "仮想メモリ : " & TotalVirtual & "バイト" & Chr(10) & _
          "空き仮想メモリ : " & AvailVirtual & "バイト"
    MsgBox msg, vbInformation + vbOKOnly, "メモリ情報"
End Sub

 仮想メモリとは、システムに設定してあるハードディスクなどの作業領域の ことで、この容量は自由に変更することができます。

 関数を呼び出す前に 引数の構造体のサイズを格納することを忘れないようにして下さい。


API Functionインデックス トップ


Copyright(C)1999 Tomoya. All rights reserved.