可能的重复项:
C# - 如何获取计算机拥有的 RAM 总量?
以下内容将检索有多少内存可用:
PerformanceCounter ramCounter;
ramCounter = new PerformanceCounter("Memory", "Available MBytes");
Console.WriteLine("Total RAM: " + ramCounter.NextValue().ToString() + " MBnn");
当然,我们将不得不使用System.Diagnostics;类。
性能计数器是否具有检索特定计算机的 RAM 量的任何功能?我不是在谈论使用或未使用的内存量。我说的是机器的内存量。
此信息已直接在 .NET Framework 中提供,您不妨使用它。 "项目 + 添加引用",选择"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。
你可以这样尝试
添加对系统管理的引用。
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);
}
}