Lecture des informations de la mémoire

Description

Simple et sympa,

Le code permet d'extraire les informations sur la mémoire du PDA
entre autre: Mémoire critique, mémoire virtuelle, mémoire physique ...

Source / Exemple :


using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using System.Globalization;

namespace InfosMémoire
{
    public partial class frmMain : Form
    {
        public struct MEMORYSTATUS
        {
            public uint Length;
            public uint MemoryLoad;
            public uint TotalPhys;
            public uint AvailPhys;
            public uint TotalPageFile;
            public uint AvailPageFile; 
            public uint TotalVirtual;
            public uint AvailVirtual;
        }

        [DllImport("CoreDll.Dll")]
        public static extern int GlobalMemoryStatus(ref MEMORYSTATUS ms);
        [DllImport("CoreDll.Dll")]
        public static extern int GetSystemMemoryDivision(ref uint lpdwStorePages, ref uint ldpwRamPages, ref uint ldpwPageSize);

        public frmMain()
        { 
            InitializeComponent(); 
        }

        private void frmMain_Load(object sender, EventArgs e)
        {
            GetMemoryInfo();
        }
        private void GetMemoryInfo()
        {
            lstInfos.Items.Clear();
            uint storePages = 0;
            uint ramPages = 0;
            uint pageSize = 0;
            int res = GetSystemMemoryDivision(ref storePages, ref ramPages, ref pageSize);
            MEMORYSTATUS MM_Status = new MEMORYSTATUS();
            CultureInfo ci = new CultureInfo("en-us");

            GlobalMemoryStatus(ref MM_Status);
            lstInfos.Items.Add("Nombre de pages(RAM):" + ramPages.ToString());
            lstInfos.Items.Add("Nombre de pages(Store):" + ramPages.ToString());
            lstInfos.Items.Add("Taille de la pages:" + (ramPages/1024).ToString()+ " KO" );

            lstInfos.Items.Add("Mémoire Critique: " + (MM_Status.MemoryLoad / 1048576).ToString("F02", ci) + " MB");
            lstInfos.Items.Add("Total Mémoire Physique: " + (MM_Status.TotalPhys / 1048576).ToString("F02", ci) + " MB");
            lstInfos.Items.Add("Mémoire Physique Libre: " + (MM_Status.AvailPhys / 1048576).ToString("F02", ci) + " MB");
            lstInfos.Items.Add("Total Mémoire Virtulle: " + (MM_Status.TotalVirtual / 1048576).ToString("F02", ci) + " MB");
            lstInfos.Items.Add("Mémoire Virtual Libre: " + (MM_Status.AvailVirtual / 1048576).ToString("F02", ci) + " MB");
            lstInfos.Items.Add("Total Pagination: " + (MM_Status.TotalPageFile / 1048576).ToString("F02", ci) + " MB");
            lstInfos.Items.Add("Pagination Libre: " + (MM_Status.AvailPageFile / 1048576).ToString("F02", ci) + " MB");
            
        }
        private void mnuExit_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void mnuRefresh_Click(object sender, EventArgs e)
        {
            GetMemoryInfo();
        }
    }
}

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.