如何使用C#在WinForms中检索系统上可用的RAM量

本文概述

  • 1.导入系统。管理
  • 2.检索RAM数量
在这篇简短的文章中, 我们将向你介绍如何在WinForms中使用C#检索系统中可用的RAM量。
1.导入系统。管理 在某些示例中, 你需要在项目中添加以下参考, 以检索有关系统的信息:
using System.Management;

但是, 在某些Visual Studio版本中(特别是在2010年和更高版本中), 你还需要在项目中手动添加引用(.DLL)。为此, 请按照下列步骤操作:
  1. 【如何使用C#在WinForms中检索系统上可用的RAM量】右键单击项目, 添加引用
  2. 选择” 程序集(框架)” 选项卡, 然后搜索System.Management, 最后添加引用, 然后单击” 确定” 。
如何使用C#在WinForms中检索系统上可用的RAM量

文章图片
我们需要添加System.Management来在WMI类中创建查询。在此处阅读有关在msdn中检索.NET中的WMI类的更多信息。
2.检索RAM数量 为了使用C#在操作系统中检索可用的RAM, 是通过Win32_OperatingSystem WMI类, 该类表示计算机上安装的基于Windows的操作系统。从创建的实例中, 你将能够提取与RAM相关的一些属性:
ObjectQuery wql = new ObjectQuery("SELECT * FROM Win32_OperatingSystem"); ManagementObjectSearcher searcher = new ManagementObjectSearcher(wql); ManagementObjectCollection results = searcher.Get(); foreach (ManagementObject result in results){Console.WriteLine("Total Visible Memory: {0} KB", result["TotalVisibleMemorySize"]); Console.WriteLine("Free Physical Memory: {0} KB", result["FreePhysicalMemory"]); Console.WriteLine("Total Virtual Memory: {0} KB", result["TotalVirtualMemorySize"]); Console.WriteLine("Free Virtual Memory: {0} KB", result["FreeVirtualMemory"]); }/* Outputs:Total Visible Memory: 25054184 KBFree Physical Memory: 17048656 KBTotal Virtual Memory: 29117416 KBFree Virtual Memory: 18637080 KB*/

代码的输出显示ManagementObject的4个属性的值, 这些属性是:
  • TotalVisibleMemorySize:此值指定操作系统可用的物理内存的总量(以千字节为单位)。此值不一定表示实际的物理内存量, 而是向操作系统报告的可用物理内存量。
  • FreePhysicalMemory:当前未使用和可用的物理内存数(以千字节为单位)。
  • TotalVirtualMemorySize:虚拟内存的数量(以千字节为单位)。例如, 这可以通过将总RAM的数量与分页空间的数量相加来计算, 也就是, 将计算机系统中或由计算机系统聚合的内存量与属性SizeStoredInPagingFiles相加。
  • FreeVirtualMemory:指定当前未使用和可用的虚拟内存数(以千字节为单位)。
编码愉快!

    推荐阅读