C#獲取本地計算機名,IP,MAC地址,硬盤ID

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

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章