我试图确定在计算机中安装的物理内存量。 为了acomplish这个我使用WMI(通过.NET 4.0)和它的服务。 问题是,不管有,返回值什么内存远程计算机的量为4GB。 这已经过测试有三个远程计算机:
- 虚拟机,1GB RAM,Windows 2003的
- 物理机,2GB内存,Windows XP中
- 物理机,2GB内存,64位Windows 7
我自己也运行物理机,4GB内存,64位Windows 7。
显示的代码:
uint phisicalMemorySize = 0;
ConnectionOptions co = new ConnectionOptions();
co.Username = null;
ManagementScope ms = new ManagementScope("\\\\" + computerName, co);
ObjectQuery q = new ObjectQuery("select TotalPhysicalMemory from Win32_ComputerSystem");
ManagementObjectSearcher os = new ManagementObjectSearcher(ms, q);
ManagementObjectCollection moc = os.Get();
foreach (ManagementObject o in moc)
{
phisicalMemorySize += Convert.ToUInt64(o["TotalPhysicalMemory"], CultureInfo.InvariantCulture);
}
我一直在使用也试图select Capacity from Win32_PhysicalMemory
和select TotalVisibleMemorySize from Win32_OperatingSystem
的查询,但无济于事。 在结束phisicalMemorySize
将是百达4GB。