客户机信息Helper
/**
*┌──────────────────────────────────────────────────────────────┐
*│ 描 述:客户端机器信息相关的工具类
*│ 作 者:执笔小白
*│ 版 本:2.0
*│ 创建时间:2020-6-13 15:40:56
*└──────────────────────────────────────────────────────────────┘
*┌──────────────────────────────────────────────────────────────┐
*│ 命名空间: ZhibiXiaoBai.Uril.EquipmentHelper
*│ 类 名:GetlocalIpHelper
*└──────────────────────────────────────────────────────────────┘
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Management;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
namespace ZhibiXiaoBai.Uril.EquipmentHelper
{
/// <summary>
/// 获取本地IP、MAC、硬盘序列、机器码等
/// </summary>
public class GetlocalIpHelper
{
/// <summary>
/// 获取本地当前使用的Ip
/// </summary>
/// <returns></returns>
public static string GetlocalIp()
{
using (Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, 0))
{
socket.Connect("8.8.8.8", 65530);
IPEndPoint endPoint = socket.LocalEndPoint as IPEndPoint;
return endPoint.Address.ToString();
}
}
///<summary>
///获取cpu序列号
///</summary>
///<returns>string</returns>
private static string GetCpuInfo()
{
string cpuInfo = "";
try
{
using (ManagementClass cimobject = new ManagementClass("Win32_Processor"))
{
ManagementObjectCollection moc = cimobject.GetInstances();
foreach (ManagementObject mo in moc)
{
cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
mo.Dispose();
}
}
}
catch (Exception)
{
throw;
}
return cpuInfo.ToString();
}
///<summary>
///获取硬盘ID
///</summary>
///<returns> string </returns>
private static string GetHDid()
{
string HDid = "";
try
{
using (ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive"))
{
ManagementObjectCollection moc1 = cimobject1.GetInstances();
foreach (ManagementObject mo in moc1)
{
HDid = (string)mo.Properties["Model"].Value;
mo.Dispose();
break;
}
}
}
catch (Exception)
{
throw;
}
return HDid.ToString();
}
///<summary>
///获取网卡硬件地址
///</summary>
///<returns> string </returns>
private static string GetMoAddress()
{
string MoAddress = "";
try
{
using (ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"))
{
ManagementObjectCollection moc2 = mc.GetInstances();
foreach (ManagementObject mo in moc2)
{
if ((bool)mo["IPEnabled"] == true)
MoAddress = mo["MacAddress"].ToString();
mo.Dispose();
}
}
}
catch (Exception)
{
throw;
}
return MoAddress.ToString();
}
/// <summary>
/// 机器码获取程序,随机生成一个GUID+计算机名组成形成一个唯一码。
/// </summary>
/// <returns></returns>
public static string GetCode()
{
// 机器码处理可以如下
string str = "PC." + GetCpuInfo() + "." + GetMoAddress();
return str;
}
}
}