在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
下载整个包,只下载现有类是不起作用的 http://www.sufeinet.com/thread-303-1-1.html using System; using System.Management; using System.Net; using System.Net.Sockets; using System.Text; using System.Diagnostics; using System.Text.RegularExpressions; namespace BaseFunction { ///<summary> ///计算机信息类 ///</summary> public class ComputerInfo { private string CpuID; private string MacAddress; private string DiskID; private string IpAddress; private string LoginUserName; private string ComputerName; private string SystemType; private string TotalPhysicalMemory; //单位:M private static ComputerInfo _instance; internal static ComputerInfo Instance() { if (_instance == null) _instance = new ComputerInfo(); return _instance; } internal ComputerInfo() { CpuID = GetCpuID(); MacAddress = GetMacAddress(); DiskID = GetDiskID(); IpAddress = GetIPAddress(); LoginUserName = GetUserName(); SystemType = GetSystemType(); TotalPhysicalMemory = GetTotalPhysicalMemory(); ComputerName = GetComputerName(); } /// <summary> /// 浏览器客户端 获取网卡MAC地址MD5加密串 杨旭东 /// </summary> /// <returns></returns> public static string GetClientMac() { try { string clientIP =System.Web.HttpContext.Current.Request.UserHostAddress.Trim(); Int32 idest = API.inet_addr(clientIP); Int64 macInfo = new Int64(); Int32 length = 6; int res = API.SendARP(idest, 0, ref macInfo, ref length); string mac_src = macInfo.ToString("X"); if (!string.IsNullOrEmpty(mac_src) && !"0".Equals(mac_src)) { while (mac_src.Length < 12) { mac_src = mac_src.Insert(0, "0"); } string mac_dest = string.Empty; for (int i = 0; i < 11; i++) { if (i % 2 == 0) { if (i == 10) mac_dest = mac_dest.Insert(0, mac_src.Substring(i, 2)); else mac_dest = "-" + mac_dest.Insert(0, mac_src.Substring(i, 2)); } } return mac_dest; } } catch { return "0"; } return "0"; } /// <summary> /// 获取CPU序列号代码 /// </summary> /// <returns></returns> public static 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 { } } /// <summary> /// 获取网卡硬件地址 /// </summary> /// <returns></returns> public static string GetMacAddress() { try { //获取网卡硬件地址 return Mac.GetMacAddress(); } catch { return "unknow"; } finally { } } /// <summary> /// 获取IP地址(IPv4) /// </summary> /// <returns></returns> public static string GetIPAddress() { try { IPAddress[] arrIPAddresses = Dns.GetHostAddresses(Dns.GetHostName()); foreach (IPAddress ip in arrIPAddresses) { if (ip.AddressFamily.Equals(AddressFamily.InterNetwork))//IPv4 { return ip.ToString(); } } return "unknow"; } catch { return "unknow"; } finally { } } /// <summary> /// 获取硬盘ID /// </summary> /// <returns></returns> public static string GetDiskID() { try { return Win32.GetHddInformation().ModuleNumber; } catch { return "unknow"; } finally { } } ///<summary> ///操作系统的登录用户名 ///</summary> ///<returns></returns> public static string GetUserName() { try { byte[] userName = new byte[30]; Int32[] length = new Int32[1]; length[0] = 30;//限定用户名长度 API.GetUserName(userName, length); return System.Text.Encoding.ASCII.GetString(userName); } catch { return "unknow"; } finally { } } ///<summary> /// PC类型 ///</summary> ///<returns></returns> public static 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 static string GetTotalPhysicalMemory() { try { API.MEMORY_INFO memoryInfo = new API.MEMORY_INFO(); API.GlobalMemoryStatus(ref memoryInfo); return memoryInfo.dwTotalPhys.ToString(); } catch { return "unknow"; } finally { } } ///<summary> /// 获取计算机名称 ///</summary> ///<returns></returns> public static string GetComputerName() { try { byte[] computerName = new byte[30]; Int32[] length = new Int32[1]; length[0] = 30;//限定计算机名长度 API.GetComputerName(computerName,length); return System.Text.Encoding.ASCII.GetString(computerName); } catch { return "unknow"; } finally { } } } }
|
请发表评论