public static int GetPhisicalMemoryCapacity()
{
ManagementObjectSearcher wmiSercher = new ManagementObjectSearcher();
wmiSercher.Query = new SelectQuery(
"Win32_PhysicalMemory",
"",
new string[]{"Capacity"}
);
ManagementObjectCollection myCollection = wmiSercher.Get();
System.Management.ManagementObjectCollection.ManagementObjectEnumerator em =
myCollection.GetEnumerator();
int cap = 0;
while (em.MoveNext())
{
ManagementBaseObject mo = em.Current;
if (mo.Properties["Capcity"].Value != null)
{
try
{
cap += int.Parse(mo.Properties["Capacity"].Value.ToString());
}
catch
{
}
}
}
return cap;
}