使用C#获取系统关键信息:CPU、内存、硬盘、用户与网络状态
|
admin
2024年12月3日 14:11
本文热度 2048
|
以下是使用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 编辑过