使用C#获取系统关键信息:CPU、内存、硬盘、用户与网络状态
|
admin
2024年12月3日 14:11
本文热度 133
|
以下是使用C#获取系统关键信息(包括CPU、内存、硬盘、用户和网络状态)的示例代码。你可以在C#项目中运行这段代码来获取相关信息。
using System;using System.Diagnostics;using System.Management;using System.Net.NetworkInformation;
class Program{
static void Main(string[] args)
{
GetCpuInfo();
GetMemoryInfo();
GetDiskInfo();
GetUserInfo();
GetNetworkInfo();
}
static void GetCpuInfo()
{
var cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
Console.WriteLine("CPU使用率: " + cpuCounter.NextValue() + "%");
}
static void GetMemoryInfo()
{
var ramCounter = new PerformanceCounter("Memory", "Available MBytes");
Console.WriteLine("可用内存: " + ramCounter.NextValue() + " MB");
}
static void GetDiskInfo()
{
DriveInfo[] drives = DriveInfo.GetDrives();
foreach (var drive in drives)
{
if (drive.IsReady)
{
Console.WriteLine($"驱动器: {drive.Name}");
Console.WriteLine($"文件系统: {drive.DriveFormat}");
Console.WriteLine($"可用空间: {drive.AvailableFreeSpace / (1024 * 1024)} MB");
Console.WriteLine($"总空间: {drive.TotalSize / (1024 * 1024)} MB");
}
}
}
static void GetUserInfo()
{
string userName = Environment.UserName;
Console.WriteLine("当前登录用户: " + userName);
}
static void GetNetworkInfo()
{
NetworkInterface[] networkInterfaces = NetworkInterface.GetAllNetworkInterfaces();
foreach (var ni in networkInterfaces)
{
Console.WriteLine($"网络接口: {ni.Name}");
Console.WriteLine($"状态: {ni.OperationalStatus}");
Console.WriteLine($"IP地址: {ni.GetIPProperties().UnicastAddresses[0].Address}");
}
}}
说明:
CPU 使用率:使用 PerformanceCounter 获取当前 CPU 使用率。
内存信息:使用 PerformanceCounter 获取可用内存。
硬盘信息:使用 DriveInfo 获取系统中所有可用驱动器的信息。
用户信息:使用 Environment.UserName 获取当前登录的用户。
网络信息:使用 NetworkInterface 获取所有网络接口的信息及状态。
注意:
请确保你运行这个代码的环境有相关的权限,特别是在访问某些系统信息时。
该文章在 2024/12/4 17:22:41 编辑过