原文地址:http://www.cnblogs.com/yohen/articles/833285.html
using System;
using System.Management; //此命名空間需要在
//“解決方案資源管理裡右鍵點擊”引用“,添加引用,在彈出的
//對話方塊中找到System.Management
namespace ConsoleApplication1
{
/// <summary>
/// Class1 的摘要說明。
/// </summary>
class Class1
{
/// <summary>
/// 應用程式的主進入點。
/// </summary>
[STAThread]
static void Main(string[] args)
{
Console.WriteLine("正在計算系統記憶體容量,請稍候.....");
Console.WriteLine("實際記憶體容量為:"+GetPhisicalMemory().ToString());
Console.ReadLine();
}
private static int GetPhisicalMemory()
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher(); //用於查詢一些如系統資訊的管理對象
searcher.Query = new SelectQuery("Win32_PhysicalMemory","",new string[]{"Capacity"});//設定查詢條件
ManagementObjectCollection collection = searcher.Get(); //擷取記憶體容量
ManagementObjectCollection.ManagementObjectEnumerator em = collection.GetEnumerator();
int capacity = 0;
while(em.MoveNext())
{
ManagementBaseObject baseObj = em.Current;
if(baseObj.Properties["Capacity"].Value != null)
{
try
{
capacity += int.Parse(baseObj.Properties["Capacity"].Value.ToString());
}
catch
{
Console.WriteLine("有錯誤發生!","錯誤資訊");
return 0;
}
}
}
return capacity;
}
}
}