zoukankan      html  css  js  c++  java
  • C# 获取系统硬件可用信息

    如何获取系统可用磁盘和可用内存?

    1 获取磁盘信息

    这个有自带的 DriveInfo 可以用。
    DriveInfo 类 (System.IO) | Microsoft Docs

    2 获取内存信息

    参考:C#获得系统内存占用情况 | 柊

    偷懒可以直接看:

    
        //定义内存的信息结构
        [StructLayout(LayoutKind.Sequential)]
        public struct MEMORY_INFO
        {
            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; //保留 这个值始终为0
        }
    
        class MemoryHelper
        {
            [DllImport("kernel32.dll")]
            [return: MarshalAs(UnmanagedType.Bool)]
            private static extern bool GlobalMemoryStatusEx(ref MEMORY_INFO mi);
    
            /// <summary>
            /// 获得当前内存使用情况
            /// </summary>
            /// <returns></returns>
            private static MEMORY_INFO GetMemoryStatus()
            {
                MEMORY_INFO mi = new MEMORY_INFO();
                mi.dwLength = (uint) System.Runtime.InteropServices.Marshal.SizeOf(mi);
                GlobalMemoryStatusEx(ref mi);
                return mi;
            }
    
            /// <summary>
            /// 获得当前可用物理内存大小
            /// </summary>
            /// <returns>当前可用物理内存(B)</returns>
            private static ulong GetAvailPhys()
            {
                MEMORY_INFO mi = GetMemoryStatus();
                return mi.ullAvailPhys;
            }
    
            public static ulong GetAvailablePhysMemorySize()
            {
                try
                {
                    return GetAvailPhys();
                }
                catch (Exception)
                {
                    return 0;
                }
            }
    
        }
    

    原文链接:
    https://www.cnblogs.com/jasongrass/p/11794127.html

  • 相关阅读:
    linux之参数实用讲解
    Linux脚本中调用SQL,RMAN脚本
    shell for参数
    Linux Shell参数替换
    Python OOP(1)
    Python 不可变对象
    Python set
    Python tuple
    Python list,tuple,dict and set
    Python 可变长度函数参数
  • 原文地址:https://www.cnblogs.com/jasongrass/p/11794127.html
Copyright © 2011-2022 走看看