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とメモリーの情報が取得できました。
コメント