現在システム情報を取得して表示するところまではできました。
しかし、テキストファイルを作成してPCの情報を全て記入したいのですが、全ての情報を一つのテキストファイルにまとめる方法がわかりません。
string配列に全ての情報を入れることができれば順にテキスト化することはたぶんできると思うのですが、foreachはスコープが違うので配列に代入することができませんでした。取得したい情報を一つの配列にまとめる方法はありますか?
foreachを使っている以上難しいのであれば方法でも大丈夫です。
C#
1//wimを使う 2 System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_OperatingSystem"); 3 System.Management.ManagementObjectCollection moc = mc.GetInstances(); 4//情報を取得 5 foreach (System.Management.ManagementObject mo in moc) 6 { 7 System.Diagnostics.Debug.WriteLine("Caption=" + mo["Caption"].ToString()); 8 System.Diagnostics.Debug.WriteLine("serial=" + mo["SerialNumber"].ToString()); 9//......その他ビルド番号、シリアル番号など 10 } 11 12//そのほかにもCPUname取得 13 System.Management.ManagementClass mos = new System.Management.ManagementClass("win32_Processor"); 14 System.Management.ManagementObjectCollection momoc = mos.GetInstances(); 15 foreach (System.Management.ManagementObject mo in momoc) 16 { 17 System.Diagnostics.Debug.WriteLine("CPUNAME==" + mo["name"]); 18 } 19
試してみたことはstringの配列を生成してそこに追加する形を取ろうとしたところforeach内のデータを配列入れることができませんでした。スコープが違うため。
C#
1 string[] writefiles = new string[0]; 2 3 4 foreach (System.Management.ManagementObject mo in moc) 5 { 6 writefiles[0] ="Caption=" + mo["Caption"].ToString(); 7 System.Diagnostics.Debug.WriteLine("serial=" + mo["SerialNumber"].ToString()); 8//......その他ビルド番号、シリアル番号など 9 } 10 11 12
例に挙げられている配列に入れるというのは、添え字[0]に上書きしているだけでスコープは全く関係ないかと思います。
回答1件
あなたの回答
tips
プレビュー