zoukankan      html  css  js  c++  java
  • 获取客户机的当前使用的IP、CPU、硬盘序列等信息生成机器码

    客户机信息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;
            }
        }
    }
  • 相关阅读:
    vim 查找选中文本_Chris!_百度空间
    export.py
    string.clear() liuyy的专栏 博客频道 CSDN.NET
    python判断有中文字符的方法
    vi技巧 ArduousBonze的专栏 博客频道 CSDN.NET
    cookies可以跨域了~单点登陆(a.com.cn与b.com.cn可以共享cookies)
    XML遍历(LINQ TO XML的魅力)
    当你使用LINQ做底层时,最好设计一个工厂,不要把LINQ的动作暴露给业务层
    EXCEL中如果输入一个数,然后自动让它乘以某个常数(第一列乘6,第二列乘4)
    面向对象~程序应该具有可维护性,代码可复用性,可扩展性和灵活性
  • 原文地址:https://www.cnblogs.com/qq2806933146xiaobai/p/15671968.html
Copyright © 2011-2022 走看看