首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#如何获得内存物理内存

2013-07-11 
C#怎么获得内存物理内存?只想获得物理内存大小,不想知道其他的东西。(随便问怎么读取注册表?)[解决办法]usi

C#怎么获得内存物理内存?
只想获得物理内存大小,不想知道其他的东西。(随便问怎么读取注册表?)
[解决办法]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
//加入这个命名空间,用于调用系统的DLL
namespace WindowsApplication2
{
    public partial class Form1 : Form
    {
       public  struct MEMORYSTATUS1 //这个结构用于获得系统信息
        {
            internal uint dwLength;
            internal uint dwMemoryLoad;
            internal uint dwTotalPhys;
            internal uint dwAvailPhys;
            internal uint dwTotalPageFile;
            internal uint dwAvailPageFile;
            internal uint dwTotalVirtual;
            internal uint dwAvailVirtual;
        }
        [DllImport("kernel32.dll ")]//调用系统DLL
        public static extern void GlobalMemoryStatus(ref   MEMORYSTATUS1 lpBuffer); //获得系统DLL里的函数
        public Form1()
        {
            InitializeComponent();
        }

private void button5_Click(object sender, EventArgs e)//这个是触发事件的按纽
        {

MEMORYSTATUS1 vBuffer = new MEMORYSTATUS1();//实例化结构
            GlobalMemoryStatus(ref   vBuffer);//给此结构赋值


            string useinfo=Convert.ToString(vBuffer.dwAvailPhys);//获得已用内存量
            string allinfo=Convert.ToString(vBuffer.dwTotalPhys);//获得内存总量
            MessageBox.Show(useinfo + ":" + allinfo);
//显示已用内存量:总内存量
        }
    }
}
[解决办法]
win32 API可以获取物理内存。

注册表操作见: http://msdn.microsoft.com/zh-cn/library/Microsoft.Win32.RegistryKey.aspx

热点排行