电脑运行状态

using System;
using System.Diagnostics;
using System.Management;
public class DeviceMonitor
{

    static readonly PerformanceCounter cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
    static readonly PerformanceCounter ramCounter = new PerformanceCounter("Memory", "Available MBytes");
    static readonly PerformanceCounter uptime = new PerformanceCounter("System", "System Up Time");


    /// <summary>
    /// 网络信息
    /// </summary>
    /// <returns></returns>
    public static bool GetInternetAvilable()
    {
        bool networkUp = System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable();
        return networkUp;
    }

    /// <summary>
    /// 系统运行时间
    /// </summary>
    /// <returns></returns>
    public static TimeSpan GetSystemUpTime()
    {
        uptime.NextValue();
        TimeSpan ts = TimeSpan.FromSeconds(uptime.NextValue());
        return ts;
    }

    /// <summary>
    /// 物理内存
    /// </summary>
    /// <returns></returns>
    public static string GetPhysicalMemory()
    {
        string str = null;
        ManagementObjectSearcher objCS = new ManagementObjectSearcher("SELECT * FROM Win32_ComputerSystem");
        foreach (ManagementObject objMgmt in objCS.Get())
        {
            str = objMgmt["totalphysicalmemory"].ToString();
        }
        return str;
    }

    /// <summary>
    /// CPU使用率
    /// </summary>
    /// <returns></returns>
    public static string getCurrentCpuUsage()
    {
        return cpuCounter.NextValue() + "%";
    }

    /// <summary>
    /// 内存使用
    /// </summary>
    /// <returns></returns>
    public static string getAvailableRAM()
    {
        return ramCounter.NextValue() + "MB";
    }
}

  

原文地址:https://www.cnblogs.com/lhlong/p/11057818.html