現在の使用中のメモリ量や、全メモリ量を取得する。
[標準モジュール]
'===========================================================================
' ファイル名 : basMemory.bas
' ファイル説明 : メモリ情報 関数群
' 作成者 : Uz
' 作成日 : 1998/01/20 (Tue)
' 修正日 : 1998/01/20 (Tue)
' 備考 :
'===========================================================================
Option Explicit
'-- API定数群
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関数群
Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As MEMORYSTATUS)
'///////////////////////////////////////////////////////////////////////////
' 関数名 : GetMemoryTotal
' 目的説明 : 全メモリ量のバイト数を返す
' 前提条件 : なし
' 結果 : なし
' 引数 : なし
' 戻り値 : long : 全メモリ量(Byte)
' 備考 ; なし
'///////////////////////////////////////////////////////////////////////////
Public Function GetMemoryTotal() As Long
Dim msMemoryStatus As MEMORYSTATUS
msMemoryStatus.dwLength = LenB(msMemoryStatus)
Call GlobalMemoryStatus(msMemoryStatus)
GetMemoryTotal = msMemoryStatus.dwTotalPhys
End Function
'///////////////////////////////////////////////////////////////////////////
' 関数名 : GetMemoryFree
' 目的説明 : 使用中のメモリ量のバイト数を返す
' 前提条件 : なし
' 結果 : なし
' 引数 : なし
' 戻り値 : Long :使用メモリ量(Byte)
' 備考 ; なし
'///////////////////////////////////////////////////////////////////////////
Public Function GetMemoryFree() As Long
Dim msMemoryStatus As MEMORYSTATUS
msMemoryStatus.dwLength = LenB(msMemoryStatus)
Call GlobalMemoryStatus(msMemoryStatus)
GetMemoryFree = msMemoryStatus.dwAvailPhys
End Function
[フォーム側]
Private Sub timTimer_Timer()
lblTotal.Caption = "Total : " & GetMemoryTotal / 1024 & "KB"
lblFree.Caption = "Free : " & GetMemoryFree / 1024 & "KB"
End Sub
|