- 最后登录
- 2013-9-29
- 注册时间
- 2012-8-20
- 阅读权限
- 90
- 积分
- 6371
- 纳金币
- 6372
- 精华
- 0
|
首先在添加引用中选中System.Management
using System.Management;
using System.Management.Ins***mentation;
private void GetInfo()
{
string cpuInfo = "";//cpu序列号
ManagementClass cimobject = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = cimobject.GetInstances();
foreach(ManagementObject mo in moc)
{
cpuInfo = mo.Properties["rocessorId"].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"] == ***e)
Response.Write("MAC address {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);
//定义内存的信息结构
[S***ctLayout(LayoutKind.Sequential)]
public s***ct 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);
|
|