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
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
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