using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Management;

/// <summary> ///Computer 的摘要说明 /// </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; } public Computer() { CpuID = GetCpuID(); MacAddress = GetMacAddress(); DiskID = GetDiskID(); IpAddress = GetIPAddress(); LoginUserName = GetUserName(); SystemType = GetSystemType(); TotalPhysicalMemory = GetTotalPhysicalMemory(); ComputerName = GetComputerName(); } public 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 { }

}
public 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
    {
    }

}
public 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
    {
    }

}

public 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> 
public 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> 
public 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> 
public 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> 
public string GetComputerName()
{
    try
    {
        return System.Environment.GetEnvironmentVariable("ComputerName");
    }
    catch
    {
        return "unknow";
    }
    finally
    {
    }
}

}