首页 > 代码库 > .NET获取当前程序所在电脑的CPU和内存使用率
.NET获取当前程序所在电脑的CPU和内存使用率
using System; using System.Diagnostics; using System.Text; using System.Runtime.InteropServices; namespace ConsoleApplication1 { class Program { public static PerformanceCounter cpu; //public static ComputerInfo cif; static void Main(string[] args) { cpu = new PerformanceCounter("Processor", "% Processor Time", "_Total"); // cif = new ComputerInfo(); MEMORY_INFO MemInfo; MemInfo = new MEMORY_INFO(); while(true) { GlobalMemoryStatus(ref MemInfo); Console.WriteLine(MemInfo.dwMemoryLoad.ToString() + "%的内存正在使用"); var percentage = cpu.NextValue(); Console.WriteLine(percentage + "%的CPU正在使用\n"); System.Threading.Thread.Sleep(2000); } } [DllImport("kernel32")] public static extern void GetSystemDirectory(StringBuilder SysDir, int count); [DllImport("kernel32")] public static extern void GetSystemInfo(ref CPU_INFO cpuinfo); [DllImport("kernel32")] public static extern void GlobalMemoryStatus(ref MEMORY_INFO meminfo); [DllImport("kernel32")] public static extern void GetSystemTime(ref SYSTEMTIME_INFO stinfo); } //定义CPU的信息结构 [StructLayout(LayoutKind.Sequential)] public struct CPU_INFO { public uint dwOemId; public uint dwPageSize; public uint lpMinimumApplicationAddress; public uint lpMaximumApplicationAddress; public uint dwActiveProcessorMask; public uint dwNumberOfProcessors; public uint dwProcessorType; public uint dwAllocationGranularity; public uint dwProcessorLevel; public uint dwProcessorRevision; } //定义内存的信息结构 [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; } //定义系统时间的信息结构 [StructLayout(LayoutKind.Sequential)] public struct SYSTEMTIME_INFO { public ushort wYear; public ushort wMonth; public ushort wDayOfWeek; public ushort wDay; public ushort wHour; public ushort wMinute; public ushort wSecond; public ushort wMilliseconds; } }
.NET获取当前程序所在电脑的CPU和内存使用率
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。