您的位置:首页 > 编程语言 > C#

C#获取硬件信息(二)

2010-04-30 16:58 281 查看
using System;

using System.Management;

namespace Soyee.Comm

{

/// <summary>

/// Computer Information

/// </summary>

public class Computer

{

public string CpuID;

public string MacAddress;

public string DiskID;

public string IpAddress;

public string LoginUserName;

public string ComputerName;

public string SystemType;

public string TotalPhysicalMemory; //单位:M

private static Computer _instance;

public static Computer Instance()

{

if (_instance == null)

_instance = new Computer();

return _instance;

}

protected Computer()

{

CpuID=GetCpuID();

MacAddress=GetMacAddress();

DiskID=GetDiskID();

IpAddress=GetIPAddress();

LoginUserName=GetUserName();

SystemType=GetSystemType();

TotalPhysicalMemory=GetTotalPhysicalMemory();

ComputerName=GetComputerName();

}

string GetCpuID()

{

try

{

//获取CPU序列号代码

string cpuInfo = "";//cpu序列号

ManagementClass mc = new ManagementClass("Win32_Processor");

ManagementObjectCollection moc = mc.GetInstances();

foreach(ManagementObject mo in moc)

{

cpuInfo = mo.Properties["ProcessorId"].Value.ToString();

}

moc=null;

mc=null;

return cpuInfo;

}

catch

{

return "unknow";

}

finally

{

}

}

string GetMacAddress()

{

try

{

//获取网卡硬件地址

string mac="";

ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");

ManagementObjectCollection moc = mc.GetInstances();

foreach(ManagementObject mo in moc)

{

if((bool)mo["IPEnabled"] == true)

{

mac=mo["MacAddress"].ToString();

break;

}

}

moc=null;

mc=null;

return mac;

}

catch

{

return "unknow";

}

finally

{

}

}

string GetIPAddress()

{

try

{

//获取IP地址

string st="";

ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");

ManagementObjectCollection moc = mc.GetInstances();

foreach(ManagementObject mo in moc)

{

if((bool)mo["IPEnabled"] == true)

{

//st=mo["IpAddress"].ToString();

System.Array ar;

ar=(System.Array)(mo.Properties["IpAddress"].Value);

st=ar.GetValue(0).ToString();

break;

}

}

moc=null;

mc=null;

return st;

}

catch

{

return "unknow";

}

finally

{

}

}

string GetDiskID()

{

try

{

//获取硬盘ID

String HDid="";

ManagementClass mc = new ManagementClass("Win32_DiskDrive");

ManagementObjectCollection moc = mc.GetInstances();

foreach(ManagementObject mo in moc)

{

HDid = (string)mo.Properties["Model"].Value;

}

moc=null;

mc=null;

return HDid;

}

catch

{

return "unknow";

}

finally

{

}

}

/// <summary>

/// 操作系统的登录用户名

/// </summary>

/// <returns></returns>

string GetUserName()

{

try

{

string st="";

ManagementClass mc = new ManagementClass("Win32_ComputerSystem");

ManagementObjectCollection moc = mc.GetInstances();

foreach(ManagementObject mo in moc)

{

st=mo["UserName"].ToString();

}

moc=null;

mc=null;

return st;

}

catch

{

return "unknow";

}

finally

{

}

}

/// <summary>

/// PC类型

/// </summary>

/// <returns></returns>

string GetSystemType()

{

try

{

string st="";

ManagementClass mc = new ManagementClass("Win32_ComputerSystem");

ManagementObjectCollection moc = mc.GetInstances();

foreach(ManagementObject mo in moc)

{

st=mo["SystemType"].ToString();

}

moc=null;

mc=null;

return st;

}

catch

{

return "unknow";

}

finally

{

}

}

/// <summary>

/// 物理内存

/// </summary>

/// <returns></returns>

string GetTotalPhysicalMemory()

{

try

{

string st="";

ManagementClass mc = new ManagementClass("Win32_ComputerSystem");

ManagementObjectCollection moc = mc.GetInstances();

foreach(ManagementObject mo in moc)

{

st=mo["TotalPhysicalMemory"].ToString();

}

moc=null;

mc=null;

return st;

}

catch

{

return "unknow";

}

finally

{

}

}

/// <summary>

///

/// </summary>

/// <returns></returns>

string GetComputerName()

{

try

{

return System.Environment.GetEnvironmentVariable("ComputerName");

}

catch

{

return "unknow";

}

finally

{

}

}

}

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: