C# Visual Studio

C#でWMIを使ってOSやメモリ情報の取得

スポンサーリンク

WMIを使う

Visual Studio2015のC#でパソコンのOSやメモリーの情報を取得する方法を調べたのでメモしておきます。
OSやメモリーの情報を得るには、いくつかありますが「WMI」を使う方法でやってみました。

WMI

WMI(Windows Management Instrumentation)とは、コンピュータやOSの情報を取得したり設定することができるインターフェースです。

参照の追加

まず、C#でWMIを使うために、プロジェクトの参照設定に「System.Management」の参照を追加します。
下記が参照の追加手順です。

1.メニューの「プロジェクト」ー「参照の追加」を選択

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

サンプル

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

コメント

タイトルとURLをコピーしました