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