[C#应用]得到物理内存大小和Windows可见内存大小
2006-11-21 13:26
489 查看
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Management;
得到Windows可用物理内存大小#region 得到Windows可用物理内存大小
string GetPhysicalMemorySize()
...{
//PhysicalMemorySize 可用物理内存大小,与资源管理器中的关于对话框显示的内存大小一致
//FreePhysicalMemory 剩余物理内存大小
ulong PhysicalMemorySize = 0, VirtualMemorySize = 0, FreePhysicalMemory = 0;
调用方式一#region 调用方式一
//ManagementObjectSearcher seacher = new ManagementObjectSearcher("Select * From Win32_OperatingSystem");
//foreach (ManagementBaseObject obj in seacher.Get())
//{
// if (obj["TotalVisibleMemorySize"] != null)
// PhysicalMemorySize = (ulong)obj["TotalVisibleMemorySize"];
// if (obj["TotalVirtualMemorySize"] != null)
// VirtualMemorySize = (ulong)obj["TotalVirtualMemorySize"];
// if (obj["FreePhysicalMemory"] != null)
// FreePhysicalMemory = (ulong)obj["FreePhysicalMemory"];
// break;
//}
#endregion
调用方式二#region 调用方式二
ManagementClass osClass = new ManagementClass("Win32_OperatingSystem");
foreach (ManagementObject obj in osClass.GetInstances())
...{
if (obj["TotalVisibleMemorySize"] != null)
PhysicalMemorySize = (ulong)obj["TotalVisibleMemorySize"];
if (obj["TotalVirtualMemorySize"] != null)
VirtualMemorySize = (ulong)obj["TotalVirtualMemorySize"];
if (obj["FreePhysicalMemory"] != null)
FreePhysicalMemory = (ulong)obj["FreePhysicalMemory"];
break;
}
#endregion
if (PhysicalMemorySize > 0)
return string.Format("{0:###,###,###} KB", PhysicalMemorySize);
else
return "Unknown";
}
#endregion
得到物理内存的大小的代码如下:
得到物理内存信息#region 得到物理内存信息
string GetPhysicalMemory()
...{
ManagementClass osClass = new ManagementClass("Win32_PhysicalMemory");
ulong Capacity = 0;
StringBuilder CapacityString = new StringBuilder();
foreach (ManagementObject obj in osClass.GetInstances())
...{
if (obj["Capacity"] != null)
...{
ulong CurrentCapacity = (ulong)obj["Capacity"] / 1024 / 1024;
Capacity += CurrentCapacity;
CapacityString.Append(string.Format(" + {0:##,###,###}MB", CurrentCapacity));
}
//if (obj["MemoryType"] != null)
// CapacityString += "[" + obj["MemoryType"].ToString() + "]";
}
return string.Format("{0:##,###,###}MB ({1})", Capacity, CapacityString.ToString().TrimStart('+', ' '));
}
#endregion
相关文章推荐
- c# 物理内存大小 Windows可见内存大小 内存信息
- Linux 和 windows修改java虚拟机内存大小
- 在Windows 8 Metro应用中使用C# 连接SQLite
- Windows 内存详解(六) C# WinForm应用程序降低系统内存占用方法总结
- 20170805Windows12_4_获取系统内存大小及空间内存
- C#得到文件夹及文件大小
- Windows 8 Metro应用中使用C#连接SQLite及创建数据库,数据表的增删改查
- C# System.Timers.Timer定时器的使用和定时自动清理内存应用
- C#中如何获取系统版本,内存大小,显卡类型,CPU型号
- python 计算apache进程占用的内存大小以及占物理内存的比例
- C#非托管内存的应用(二)――结构体拷贝
- 【C#】使用Windows身份验证连接Sql Server,ListView随窗体大小的变化而调节列宽
- C# 能否获取一个对象所占内存的大小?
- WINDOWS中tomcat改变内存大小
- C# 系统应用之获取Windows最近使用记录
- Windows下的Android模拟器设置内存大小
- C#获取硬盘编号、CPU编号及类型、内存大小及使用情况
- c# .net windows消息队列简单应用示例
- C#-struct实例字段的内存布局(Layout)和大小(Size)