本文共 2694 字,大约阅读时间需要 8 分钟。
首先在添加引用中选中System.Management
using System.Management; using System.Management.Instrumentation;private void GetInfo()
{ string cpuInfo = "";//cpu序列号 ManagementClass cimobject = new ManagementClass("Win32_Processor"); ManagementObjectCollection moc = cimobject.GetInstances(); foreach(ManagementObject mo in moc) { cpuInfo = mo.Properties["ProcessorId"].Value.ToString(); Response.Write ("cpu序列号:"+cpuInfo.ToString ()); }//获取硬盘ID
String HDid; ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive"); ManagementObjectCollection moc1 = cimobject1.GetInstances(); foreach(ManagementObject mo in moc1) { HDid = (string)mo.Properties["Model"].Value; Response.Write ("硬盘序列号:"+HDid.ToString ()); } //获取网卡硬件地址ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc2 = mc.GetInstances(); foreach(ManagementObject mo in moc2) { if((bool)mo["IPEnabled"] == true) Response.Write("MAC address\t{0}"+mo["MacAddress"].ToString()); mo.Dispose(); } }
public static float GetCPUPersent()
{ float cpuload = 0; const string categoryname = "processor"; const string countername = "% processor time"; const string instancename = "_total"; PerformanceCounter pc = new PerformanceCounter(categoryname, countername, instancename); int i = 10; while (i > 0) { Thread.Sleep(1000); // wait for 1 second cpuload = pc.NextValue(); if (cpuload > 0) { break; } i--; } return cpuload; }public static void GetDiskSpace(string path, out long DiskAll, out long DiskActive)
{ DiskAll = 0; DiskActive = 0; long a, b, c; int aaa = GetDiskFreeSpaceEx(path, out a, out b, out c); DiskAll = (long)(b / 1024 / 1024); DiskActive = (long)(a / 1024 / 1024); }public static void GetMemoryInfo(out uint MemoryAll, out uint MemoryUsed)
{ MemoryAll = 0; MemoryUsed = 0; MEMORY_INFO MemInfo = new MEMORY_INFO(); GlobalMemoryStatus(ref MemInfo); MemoryAll = MemInfo.dwTotalPhys / 1024 / 1024; MemoryUsed = (MemInfo.dwTotalPhys - MemInfo.dwAvailPhys) / 1024 / 1024; }
[DllImport("kernel32")]
public static extern void GlobalMemoryStatus(ref MEMORY_INFO meminfo);//定义内存的信息结构
[StructLayout(LayoutKind.Sequential)] public struct MEMORY_INFO { public uint dwLength; public uint dwMemoryLoad; public uint dwTotalPhys; public uint dwAvailPhys; public uint dwTotalPageFile; public uint dwAvailPageFile; public uint dwTotalVirtual; public uint dwAvailVirtual; }[DllImport("kernel32.dll", EntryPoint = "GetDiskFreeSpaceExA")]
public static extern int GetDiskFreeSpaceEx(string lpRootPathName, out long lpFreeBytesAvailable, out long lpTotalNumberOfBytes, out long lpTotalNumberOfFreeBytes);
本文转自94cool博客园博客,原文链接:http://www.cnblogs.com/94cool/archive/2011/06/12/2078858.html,如需转载请自行联系原作者