如何获知计算机ram大小,您如何获得计算机具有的RAM总量?

小编典典

p /调用方式 EDIT :更改为GlobalMemoryStatusEx以提供准确的结果(heh)

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]

private class MEMORYSTATUSEX

{

public uint dwLength;

public uint dwMemoryLoad;

public ulong ullTotalPhys;

public ulong ullAvailPhys;

public ulong ullTotalPageFile;

public ulong ullAvailPageFile;

public ulong ullTotalVirtual;

public ulong ullAvailVirtual;

public ulong ullAvailExtendedVirtual;

public MEMORYSTATUSEX()

{

this.dwLength = (uint)Marshal.SizeOf(typeof(NativeMethods.MEMORYSTATUSEX));

}

}

[return: MarshalAs(UnmanagedType.Bool)]

[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]

static extern bool GlobalMemoryStatusEx([In, Out] MEMORYSTATUSEX lpBuffer);

然后使用像:

ulong installedMemory;

MEMORYSTATUSEX memStatus = new MEMORYSTATUSEX();

if( GlobalMemoryStatusEx( memStatus))

{

installedMemory = memStatus.ullTotalPhys;

}

或者,您可以使用WMI(受管但速度较慢)在“ Win32_ComputerSystem”类中查询“ TotalPhysicalMemory”。

*根据joel-llamaduck.blogspot.com的注释*编辑 固定代码

2020-05-19

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值