本文概述
- 1.导入系统。管理
- 2.检索RAM数量
1.导入系统。管理 在某些示例中, 你需要在项目中添加以下参考, 以检索有关系统的信息:
using System.Management;
但是, 在某些Visual Studio版本中(特别是在2010年和更高版本中), 你还需要在项目中手动添加引用(.DLL)。为此, 请按照下列步骤操作:
- 【如何使用C#在WinForms中检索系统上可用的RAM量】右键单击项目, 添加引用
- 选择”
程序集(框架)”
选项卡, 然后搜索System.Management, 最后添加引用, 然后单击”
确定”
。
文章图片
我们需要添加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:指定当前未使用和可用的虚拟内存数(以千字节为单位)。
推荐阅读
- 如何在路由器上更改Wi-Fi频道
- 安全编码的最佳做法
- Android Twitter登录按钮不起作用
- 使用友好URL传递参数 - MapPageRoute和Page.Route.Values不起作用 - C#
- Android(如何将参数传递给AsyncTask的onPreExecute()())
- 我应该如何在stylesheet_link_tag之前加载application.scss( - Rails5中的最佳实践是什么?)
- 为什么静态final int在android标准类中用于避免枚举()
- 无法显示Visual Studio 2008 Tools for Applications编辑器 - MSBuildToolsPath
- 什么是Android提示的颜色代码()