WMIを使う
Visual Studio2015、2109のC#でパソコンのOSやメモリーの情報を取得する方法を調べたのでメモしておきます。
OSやメモリーの情報を得るには、いくつかありますが「WMI」を使う方法でやってみました。
WMI
WMI(Windows Management Instrumentation)とは、コンピュータやOSの情報を取得したり設定することができるインターフェースです。
参照の追加
まず、C#でWMIを使うために、プロジェクトの参照設定「System.Management」の参照を追加します。
下記が参照の追加手順です。
1.メニューの「プロジェクト」ー「参照の追加」を選択

2.表示した参照マネージャーの画面で、左側で「アセンブリ」の「フレームワーク」を選択。
右側の一覧で「System.Management」の項目にチェックして「OK」ボタンクリック。

サンプル
Visual Studio2019のC#で、OSとメモリーの情報を取得するプログラムサンプルです。
他にもWMIを使って、いろいろな情報が取得できます。
private void button1_Click(object sender, EventArgs e)
{
int nVal;
System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_OperatingSystem");
System.Management.ManagementObjectCollection moc = mc.GetInstances();
foreach (System.Management.ManagementObject mo in moc)
{
// OSの情報
// エディション
System.Diagnostics.Debug.WriteLine("Caption=" + mo["Caption"].ToString());
// バージョン
System.Diagnostics.Debug.WriteLine("Version=" + mo["Version"].ToString());
// ビルド番号
System.Diagnostics.Debug.WriteLine("BuildNumber=" + mo["BuildNumber"].ToString());
// メモリー情報
// 合計物理メモリー
nVal = Convert.ToInt32(mo["TotalVisibleMemorySize"]) / 1024; // 単位 KB -> MB
System.Diagnostics.Debug.WriteLine("合計物理メモリ(MB)=" + nVal.ToString());
// 利用可能な物理メモリー
nVal = Convert.ToInt32(mo["FreePhysicalMemory"]) / 1024; // 単位 KB -> MB
System.Diagnostics.Debug.WriteLine("利用可能な物理メモリ(MB)=" + nVal.ToString());
// 合計仮想メモリー
nVal = Convert.ToInt32(mo["TotalVirtualMemorySize"]) / 1024; // 単位 KB -> MB
System.Diagnostics.Debug.WriteLine("合計仮想メモリ(MB)=" + nVal.ToString());
// 利用可能な仮想メモリー
nVal = Convert.ToInt32(mo["FreeVirtualMemory"]) / 1024; // 単位 KB -> MB
System.Diagnostics.Debug.WriteLine("利用可能な仮想(MB)=" + nVal.ToString());
}
}
実行した結果です。パソコンのOSとメモリーの情報が取得できました。

コメント