读书人

使用GlobalMemoryStatus获得物理内存大

发布时间: 2012-01-28 22:06:13 作者: rapoo

使用GlobalMemoryStatus获得物理内存大小时出错
[DllImport( "kernel32 ")]
public static extern void GlobalMemoryStatus(MEMORYSTATUS lpBuffer);

public struct MEMORYSTATUS
{
public uint dwLength;
public uint dwMemoryLoad;
public uint dwTotalPhys;
public uint dwAvailPhys;
public uint dwTotalPageFile;
public uint dwAvailPageFile;
public uint dwTotalVirtual;
public uint dwAvailVirtual;
}


MEMORYSTATUS MemStat = new MEMORYSTATUS();
GlobalMemoryStatus(MemStat);

MessageBox.Show(MemStat.dwTotalPhys.ToString() + "\n ");

运行时得到异常信息 System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
请问这是怎么回事呢?

[解决办法]
这个东西肯定没干好事


PS:为啥你不用WMI查询呢楼主?

读书人网 >C#

热点推荐