• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:4GB搭載したマシンのメモリ情報を取得するには?(C#))

4GB搭載マシンのメモリ情報を取得する方法(C#)

このQ&Aのポイント
  • .net 2003を使ってC#のプログラミングを勉強中です。メモリを4GBに増設したが、メモリ情報の取得できません。
  • 以前は2GB搭載マシンのメモリ情報を取得できたが、4GB以上ではできなくなった。
  • C++のプログラムを参考にしてC#のコードを変更してみたが、メモリ情報の取得に失敗した。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

まず第一に、GlobalMemoryStatusEx の引数は MEMORYSTATUSEX 構造体になっていますか?MEMORYSTATUSEX 構造体ではなく、MEMORYSTATUS 構造体になってませんか? 第二に、MEMORYSTATUSEX の dwLength メンバの初期化はされてますか?GlobalMemoryStatus では MEMORYSTATUS のメンバの初期化は必要ありませんでしたが、GlobalMemoryStatusEx では dwLength メンバの初期化が必要となっています。 C# ではどう記述するのかわからないのですが、C/C++ では MEMORYSTATUSEX mse; mse.dwLength = sizeof( MEMORYSTATUSEX ); GlobalMemoryStatusEx( &mse ); のような感じになります。

dllbll
質問者

お礼

tsukasa-12rさん、ありがとうございました。 tsukasa-12rさんから教えて頂いた。 MEMORYSTATUSEX mse; mse.dwLength = sizeof( MEMORYSTATUSEX ); GlobalMemoryStatusEx( &mse ); の部分を参考にプログラムを修正したらメモリ情報を取得することができました。 本当にありがとうございます

すると、全ての回答が全文表示されます。

関連するQ&A