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