C#获取电脑CPU以及内存使用率

调用示例
Tuple<float, float> info = SystemInfo.GetCpuPerformance();

public static class SystemInfo
{
    public static PerformanceCounter cpu = new PerformanceCounter("Processor", "% Processor Time", "_Total");
    public static Tuple<float, float> GetCpuPerformance()
    {
        float cpuPer = cpu.NextValue();//Environment.ProcessorCount
        MEMORY_INFO MemInfo = new MEMORY_INFO();
        GlobalMemoryStatus(ref MemInfo);
        float memoryPer = MemInfo.dwMemoryLoad;

        return new Tuple<float, float>(cpuPer, memoryPer);
    }
    [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;
}
    原文作者:孤梅恋寒
    原文地址: https://blog.csdn.net/qq_27368937/article/details/99543636
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞