• C#-获取磁盘,cpu,内存信息


    获取磁盘信息
    
    zongdaxiao = GetHardDiskSpace("C") * 1.0 / 1024;
    user = GetHardDiskFreeSpace("C") * 1.0 / 1024;
    
     ///   
    /// 获取指定驱动器的空间总大小(单位为B) 
    ///   
    ///  只需输入代表驱动器的字母即可 (大写) 
    ///    
    public long GetHardDiskSpace(string str_HardDiskName)
    {
          long totalSize = new long();
          str_HardDiskName = str_HardDiskName + ":\";
          System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives();
          foreach (System.IO.DriveInfo drive in drives)
          {
                if (drive.Name == str_HardDiskName)
                {
                     totalSize = drive.TotalSize / (1024 * 1024);
                }
          }
                return totalSize;
    }
    
    ///   
    /// 获取指定驱动器的剩余空间总大小(单位为B) 
    ///   
    ///  只需输入代表驱动器的字母即可  
    ///    
    public long GetHardDiskFreeSpace(string str_HardDiskName)
    {
         long freeSpace = new long();
         str_HardDiskName = str_HardDiskName + ":\";
         System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives();
         foreach (System.IO.DriveInfo drive in drives)
         {
             if (drive.Name == str_HardDiskName)
             {
                    freeSpace = drive.TotalFreeSpace / (1024 * 1024);
             }
        }
        return freeSpace;
    }
    
    *****************************************************
    获取总内存(运行)
    zongneicun = GetMemoryStatus();
    
     [StructLayout(LayoutKind.Sequential)]
     public struct MEMORY_INFO
     {
             public uint dwLength;
             public uint dwMemoryLoad;
             public uint dwTotalPhys;
             public uint dwAvailPhys;
             public uint dwTotalPageFile;
             public uint dwAvailPageFile;
             public uint dwTotalVirtual;
             public uint dwAvailVirtual;
     }
     [DllImport("kernel32")]
     public static extern void GlobalMemoryStatus(ref MEMORY_INFO meminfo);
     MEMORY_INFO MemInfo = new MEMORY_INFO();
    
     private long GetMemoryStatus()
     {
         GlobalMemoryStatus(ref MemInfo);
         long totalMb = Convert.ToInt64(MemInfo.dwTotalPhys.ToString()) / 1024 / 1024;
         //long avaliableMb = Convert.ToInt64(MemInfo.dwAvailPhys.ToString()) / 1024 / 1024;
          return totalMb; 
          //MessageBox.Show("物理内存共有" + totalMb.ToString () + " MB" + "可使用的物理内存有" + avaliableMb.ToString () + " MB");
          //Console.WriteLine("物理内存共有" + totalMb + " MB");
          //Console.WriteLine("可使用的物理内存有" + avaliableMb + " MB");
    }
    
    
    ******************************************************
    
    //获得pro使用内存
    public int pnc()
    {
          Process[] pro = Process.GetProcesses();
          double total = 0;
          Process temp;
          int i;
          for (i = 0; i < pro.Length; i++)
          {
                temp = pro[i];
                total = temp.PrivateMemorySize + total;
           }
           return (int)(total / 1024 / 1024);
    }
    *******************************************************
    
    获取cpu使用率
    PerformanceCounter PC = new PerformanceCounter("Processor", "% Processor Time", "_Total");
    label1.Text = "Cpu: " + Convert.ToInt32(PC.NextValue()) + "%";
    
    *************************************************************
    获取系统运行时间
    label4.Text = "System Runtime: " + (Environment.TickCount / 60000).ToString();
    
    

  • 相关阅读:
    jQuery EasyUI介绍
    CodeMirror:基于JavaScript的代码编辑器
    概述:分布式文件系统+分布式存储+分布式处理
    HTML学习笔记——标准网页设计+使用CSS、Javascript
    HTML学习笔记——常用元素及其属性(二)
    HTML学习笔记——常用元素及其属性(一)
    Remmarguts' Date(k短路问题)
    K短路问题模板(spfa+A*)
    树状数组求逆序对模板
    桐桐的糖果计划(tarjan求桥+双连通分量)
  • 原文地址:https://www.cnblogs.com/csnd/p/12062159.html
Copyright © 2020-2023  润新知