zoukankan      html  css  js  c++  java
  • Windows Monile 获取系统内存

    using System;
    using System.Text;
    using System.Runtime.InteropServices;
    
    namespace Kdt.CF.Utility
    {
        public class Memory
        {
            static MEMORYSTATUS status = new MEMORYSTATUS();
    
            #region P/V invoke
            private struct MEMORYSTATUS
            {
                public UInt32 dwLength;
                public UInt32 dwMemoryLoad;
                public UInt32 dwTotalPhys;
                public UInt32 dwAvailPhys;
                public UInt32 dwTotalPageFile;
                public UInt32 dwAvailPageFile;
                public UInt32 dwTotalVirtual;
                public UInt32 dwAvailVirtual;
            }
    
            [DllImport("CoreDll.dll")]
            private static extern void GlobalMemoryStatus
            (
                ref MEMORYSTATUS lpBuffer
            );
    
            [DllImport("CoreDll.dll")]
            private static extern UInt32 GetSystemMemoryDivision
            (
                ref UInt32 lpdwStorePages,
                ref UInt32 lpdwRamPages,
                ref UInt32 lpdwPageSize
            );
    
            #endregion
            /// <summary>
            /// 更新内存信息
            /// </summary>
            public static void UpdateStatus()
            {
                GlobalMemoryStatus(ref status);
            }
            /// <summary>
            /// 系统物理内存
            /// </summary>
            public static UInt32 TotalPhysicalMemory
            {
                get
                {
                    return status.dwTotalPhys;
                }
            }
            /// <summary>
            /// 可用物理内存
            /// </summary>
            public static UInt32 AvilablePhysicalMemory
            {
                get
                {
                    return status.dwAvailPhys;
                }
            }
            /// <summary>
            /// 系统虚拟内存
            /// </summary>
            public static UInt32 TotalVirtualMemory
            {
                get
                {
                    return status.dwTotalVirtual;
                }
            }
            /// <summary>
            /// 可用虚拟内存
            /// </summary>
            public static UInt32 AvilableVirtualMemory
            {
                get
                {
                    return status.dwAvailVirtual;
                }
            }
            /// <summary>
            /// 系统页
            /// </summary>
            public static UInt32 TotalPageFile
            {
                get
                {
                    return status.dwTotalPageFile;
                }
            }
            /// <summary>
            /// 可用页
            /// </summary>
            public static UInt32 AvilablePageFile
            {
                get
                {
                    return status.dwAvailPageFile;
                }
            }
        }
    }
  • 相关阅读:
    1988-B. 有序集合
    1987-A. 集训队选拔
    1964-NP
    1963-带妹子去看电影
    1962-Fibonacci
    1961-计算机基础知识大赛 2 (new)
    TCP/IP协议详解 卷一:协议 18章、TCP连接的建立与终止
    3、剑指offer--从尾到头打印链表
    2、剑指offer--替换空格
    1、剑指offer--二维数组中查找
  • 原文地址:https://www.cnblogs.com/tryzi/p/2598951.html
Copyright © 2011-2022 走看看