如何获取有关RAM和虚拟内存的信息



我需要获得关于总RAM和虚拟内存的信息。以及系统当前使用的虚拟内存和RAM的数量,如任务管理器中所示。目前,我刚刚想好如何获得RAM的总量,我对其他有困难

ObjectQuery wql = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(wql);
ManagementObjectCollection results = searcher.Get();
double totalMemory = 0;
foreach (ManagementObject item in results)
{
var res = Convert.ToDouble(item["TotalVisibleMemorySize"]);
totalMemory = Math.Round((res / 1024), 2);
}

首先,您可以添加对项目的引用。在打开窗体中,选择"程序集",然后选择"框架"。您可以看到程序集的列表。选择";系统管理;并将其添加到项目中。然后使用此代码:

public string ConvertKB(string str)
{
int val = Int32.Parse(str);
val = (int)((val / 1024) / 1024);
return val.ToString() + " GB";
}
public void GetRAMUse()
{
ObjectQuery wql = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(wql);
ManagementObjectCollection results = searcher.Get();
foreach (ManagementObject result in results)
{
listBox1.Items.Add("Total Visible Memory: "  + ConvertKB(result["TotalVisibleMemorySize"].ToString()));
listBox1.Items.Add("Free Physical Memory: "  + ConvertKB(result["FreePhysicalMemory"].ToString()));
listBox1.Items.Add("Total Virtual Memory: "  + ConvertKB(result["TotalVirtualMemorySize"].ToString()));
listBox1.Items.Add("Free Virtual Memory:  "  + ConvertKB(result["FreeVirtualMemory"].ToString()));
}
}

最新更新