4Gバイト以上の仮想メモリ容量を取得するにはGlobalMemoryStatusEx()関数を使います。 搭載容量と空き容量が取得できます。使用容量は引き算して求めます。 // プロトタイプ宣言 BOOL GlobalMemoryStatusEx( LPMEMORYSTATUSEX lpBuffer // メモリステータスの構造体 ); // 構造体 typedef struct _MEMORYSTATUSEX { DWORD dwLength; // 構造体のサイズ DWORD dwMemoryLoad; // メモリの使用率(%) DWORDLONG ullTotalPhys; // 物理メモリの搭載容量 DWORDLONG ullAvailPhys; // 物理メモリの空き容量 DWORDLONG ullTotalPageFile; // ページングの搭載容量 DWORDLONG ullAvailPageFile; // ページングの空き容量 DWORDLONG ullTotalVirtual; // 仮想メモリの搭載容量 DWORDLONG ullAvailVirtual; // 仮想メモリの空き容量 DWORDLONG ullAvailExtendedVirtual; // 仮想メモリの拡張空き容量 } MEMORYSTATUSEX, *LPMEMORYSTATUSEX; // 情報収集 MEMORYSTATUSEX msex = { sizeof(MEMORYSTATUSEX) }; GlobalMemoryStatusEx( &msex ); // 仮想メモリの使用容量 DWORDLONG ullUsed = (msex.ullTotalVirtual - msex.ullAvailVirtual); // 仮想メモリの空き容量 DWORDLONG ullFree = (msex.ullAvailVirtual); // 仮想メモリの搭載容量 DWORDLONG ullSize = (msex.ullTotalVirtual); 注意事項: (1)この関数は Windows 95/98/Me/CE の環境では使えません。 (2)この関数は Windows NT/2000/XP/Vista の環境で利用できます。
最新の画像[もっと見る]
※コメント投稿者のブログIDはブログ作成者のみに通知されます