检索计算机上的RAM总量

可能重复:
C# – 如何获得计算机的RAM总量?

以下将检索有多少ram可用:

PerformanceCounter ramCounter; ramCounter = new PerformanceCounter("Memory", "Available MBytes"); Console.WriteLine("Total RAM: " + ramCounter.NextValue().ToString() + " MB\n\n"); 

当然我们必须使用System.Diagnostics; 类。

performancecounter是否具有检索特定计算机的RAM量的任何function? 我不是在谈论使用或未使用的ram数量。 我在谈论机器的内存量。

此信息已直接在.NET框架中提供,您也可以使用它。 Project + Add Reference,选择Microsoft.VisualBasic。

 using System; class Program { static void Main(string[] args) { Console.WriteLine("You have {0} bytes of RAM", new Microsoft.VisualBasic.Devices.ComputerInfo().TotalPhysicalMemory); Console.ReadLine(); } } 

不,它不会将您的C#代码转换为vb.net。

你可以这样试试

添加对System.Management的引用。

 private static void DisplayTotalRam() { string Query = "SELECT MaxCapacity FROM Win32_PhysicalMemoryArray"; ManagementObjectSearcher searcher = new ManagementObjectSearcher(Query); foreach (ManagementObject WniPART in searcher.Get()) { UInt32 SizeinKB = Convert.ToUInt32(WniPART.Properties["MaxCapacity"].Value); UInt32 SizeinMB = SizeinKB / 1024; UInt32 SizeinGB = SizeinMB / 1024; Console.WriteLine("Size in KB: {0}, Size in MB: {1}, Size in GB: {2}", SizeinKB, SizeinMB, SizeinGB); } }