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"; } }