public static string[] ListPhysicalMemory()
{
ManagementScope mscope = new ManagementScope(string.Format(@"\\{0}\root\cimv2", Environment.MachineName));
ManagementObjectSearcher mos = new ManagementObjectSearcher(mscope, new ObjectQuery("SELECT * FROM Win32_PhysicalMemory"));
StringBuilder szb = new StringBuilder();
foreach (ManagementObject mo in mos.Get())
szb.AppendFormat(@"{0}:{1};", mo.Properties["BankLabel"].Value, mo.Properties["Capacity"].Value);
mos.Dispose();
string szResult=szb.ToString().Trim();
return szResult.Remove(szResult.Length - 1).Split(";".ToCharArray());
}
static void Main(string[] args)
{
System.Collections.IEnumerator ieret = ListPhysicalMemory().GetEnumerator();
while (ieret.MoveNext())
{
Console.WriteLine(ieret.Current.ToString());
}
}
}