zoukankan      html  css  js  c++  java
  • C# 中获取CPU序列号/网卡mac地址

    1.cpu序列号2.mac序列号3.硬盘id
    在给软件加序列号时这三个应该是最有用的,可以实现序列号和机器绑定,对保护软件很有好处.哈哈.

     

    using System; 
    using System.Management; 

        /// Computer Information 
        public class Computer 
        { 
            public string CpuID; //1.cpu序列号
            public string MacAddress; //2.mac序列号
            public string DiskID; //3.硬盘id
            public string IpAddress; //4.ip地址
            public string LoginUserName; //5.登录用户名
            public string ComputerName; //6.计算机名
            public string SystemType; //7.系统类型
            public string TotalPhysicalMemory; //8.内存量 单位:M


           public  Computer() 
            { 
                CpuID = GetCpuID(); 
                MacAddress = GetMacAddress(); 
                DiskID = GetDiskID(); 
                IpAddress = GetIPAddress(); 
                LoginUserName = GetUserName(); 
                SystemType = GetSystemType(); 
                TotalPhysicalMemory = GetTotalPhysicalMemory(); 
                ComputerName = GetComputerName(); 
            }

         //1.获取CPU序列号代码 

            string GetCpuID() 
            { 
                try 
                { 
                     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 
                { 
                } 

            }

     

       //2.获取网卡硬件地址 

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

            }

     

        //3.获取硬盘ID 
            string GetDiskID() 
            { 
                try 
                { 
                     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 
                { 
                } 

            }

     

     

          //4.获取IP地址 

            string GetIPAddress() 
            { 
                try 
                { 
                    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 
                { 
                } 

            } 


        
            /// 5.操作系统的登录用户名 
             string GetUserName() 
            { 
                try 
                { 
                    string un= "";

                   st = Environment.UserName;
                                 return un; 
                } 
                catch 
                { 
                    return "unknow"; 
                } 
                finally 
                { 
                } 

            } 



              //6.获取计算机名
              string GetComputerName() 
            { 
                try 
                { 
                    return System.Environment.MachineName;

                } 
                catch 
                { 
                    return "unknow"; 
                } 
                finally 
                { 
                } 
            }

       ///7 PC类型 
            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 
                { 
                } 
            } 
                       catch 
                { 
                    return "unknow"; 
                } 
                finally 
                { 
                } 
            } 
        /// 8.物理内存 

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

  • 相关阅读:
    使用Windows 批处理删除CVS文件
    五种提高 SQL 性能的方法
    读取服务器数据填充Select下拉列表[原创]
    有XMLHTTP实现无刷新功能[原创]
    一些关于流量和带宽的知识
    [转帖] 25个超级经典故事!!!
    用XMLTextReader类加速.NET中XML存取
    ASP.NET中的多重表单[转]
    XML中的二进制文件的编码与解码[原创]
    Asp.net控件命名规范
  • 原文地址:https://www.cnblogs.com/Catherine2011/p/6543936.html
Copyright © 2011-2022 走看看