メモリ情報を取得するには
<システムインフォメーション表示ソフトを作ろう>
宣言 |
(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" (Memory As MEMORYSTATUS) |
引 数 説 明 |
Memory |
MEMORYSTATUS構造体 |
結果を得る変数 |
MEMORYSTATUS 構 造 体 に 関 す る 説 明 |
要素名 | 機能 | 使用頻度 |
dwLength | 構造体のサイズが格納される | C |
dwMemoryLoad | メモリの使用率が格納される | A |
dwTotalPhys | メモリの総容量(単位:バイト) | A |
dwAvailPhys | メモリの空き容量(単位:バイト) | A |
dwTotalPageFile | 保持しているページングファイルのバイト数(仮想メモリのこと) | B |
dwAvailPageFile | ページングファイルの利用できる空間のバイト数 | B |
dwTotalVirtual | ユーザモードで処理がアクセスできる仮想アドレス空間のバイト数(物理メモリ+仮想メモリ) | B |
dwAvailVirtual | ユーザモードで処理がアクセスできる占有も予約もされていない仮想アドレス空間のバイト数。 | B |
サ ン プ ル プ ロ グ ラ ム |
まず、VisualBasicを起動してプロジェクトを新しく作成してください。まず、フォームにタイマーとリストボックスを張りつけ、次のコードを貼り付けてください。
動作確認:Visual Basic 5.0(Visual Basic 4.0でも問題なく動作するはずです),Windows98
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" (Memory As MEMORYSTATUS) 'APIの宣言 Private Sub Form_Load() '1秒ごとに情報を更新 Timer1.Interval = 1000 End Sub Private Sub Timer1_Timer() List1.Clear 'リストボックスのクリア Dim Mem As MEMORYSTATUS '変数の宣言 GlobalMemoryStatus Mem 'メモリ情報の取得 'メモリ情報表示 List1.AddItem "メモリ使用率:" & Str(Mem.dwMemoryLoad) & "%" List1.AddItem "メモリ容量:" & Str(Mem.dwTotalPhys) & "バイト(約" & Str(Int(Mem.dwTotalPhys / 1024 / 1024)) & "MB)" List1.AddItem "メモリ空き容量:" & Str(Mem.dwAvailPhys) & "バイト(約" & Str(Int(Mem.dwAvailPhys / 1024 / 1024)) & "MB)" End Sub |
近いうちに本格的なサンプルも作成するつもりです。