メモリ情報の取得(T)             <TOP>


メモリ情報を取得します。

GlobalMemoryStatus メモリ情報取得

 

 
'================================================================
'= メモリ情報の取得
'=    (GlobalMemoryStatus.bas)
'================================================================
#include "Windows.bi"

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

' メモリ情報を取得
Declare Sub Api_GlobalMemoryStatus Lib "Kernel32" Alias "GlobalMemoryStatus" (lpBuffer As MEMORYSTATUS)

Var Shared List1 As Object
Var Shared Button1 As Object

List1.Attach GetDlgItem("List1") : List1.SetFontSize 14 : List1.SetWindowSize 242, 108
Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14

ShowWindow -1
Cls

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var ms As MEMORYSTATUS
    
    'メモリ情報を取得する
    Api_GlobalMemoryStatus ms
   
    '取得したメモリ情報を表示する
    List1.ResetContent
    List1.AddString "メモリ使用率    " & Format$(ms.dwMemoryLoad   , "           ####%")
    List1.AddString "全物理メモリ    " & Format$(ms.dwTotalPhys    , "###,###,###,###")
    List1.AddString "空き物理メモリ  " & Format$(ms.dwAvailPhys    , "###,###,###,###")
    List1.AddString "全仮想メモリ    " & Format$(ms.dwTotalPageFile, "###,###,###,###")
    List1.AddString "空き仮想メモリ  " & Format$(ms.dwAvailPageFile, "###,###,###,###")
    List1.AddString "全仮想アドレス  " & Format$(ms.dwTotalVirtual , "###,###,###,###")
    List1.AddString "空き仮想アドレス" & Format$(ms.dwAvailVirtual , "###,###,###,###")
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End