`

C# 中获取CPU序列号/网卡mac地址等

    博客分类:
  • C#
 
阅读更多

这是我网上找的代码,但我自己对它进行了一些优化.

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

不过现在好像要saas了,软件盗版就要消失了.

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


    } 

分享到:
评论

相关推荐

    Linux和WindowsC语言获取(CPU序列号、硬盘序列号、网卡信息、IP地址、MAC地址、网卡是否插入网线)硬件信息源码

    本文将详细讨论如何使用C语言在Linux和Windows操作系统中获取CPU序列号、硬盘序列号、网卡信息(包括网卡名称、IP地址、MAC地址以及网络连接状态)。 首先,我们来探讨CPU序列号的获取。在Windows系统中,可以使用...

    c#中获取cpu序列号,硬盘id,网卡mac地址

    在计算机硬件管理与系统维护工作中,经常需要获取一些关键硬件的信息,比如CPU序列号、硬盘ID以及网卡MAC地址等。这些信息对于诊断问题、跟踪设备历史或者进行安全性验证等方面都非常重要。在.NET Framework或.NET ...

    C语言获取硬件信息(CPU序列号,硬盘序列号,网卡IP、MAC地址、是否插入网线).zip

    本文将详细讲解如何使用C语言在Linux和Windows操作系统下获取CPU序列号、硬盘序列号以及网卡的相关信息,如网卡名称、IP地址、MAC地址和网络连接状态。 首先,让我们关注CPU序列号的获取。在Windows系统中,可以...

    c#获取网卡MAC地址,主板信息,CPU序列号,硬盘卷标……代码

    在C#编程中,获取计算机硬件的详细信息是常见的需求,比如网卡MAC地址、主板信息、CPU序列号以及硬盘卷标等。这些信息对于软件的授权验证、系统监控或者故障排查都非常重要。下面我们将详细讲解如何使用C#来获取这些...

    非常实用的C#读取CPU序列号、网卡的mac地址

    非常实用的C#读取CPU序列号、网卡的mac地址,轻松获取

    获取CPU序列号, 硬盘序列号, 网卡物理地址的C#写的DLL

    在IT领域,开发人员经常需要获取计算机硬件的相关信息,如CPU序列号、硬盘序列号以及网卡物理地址(MAC地址)。这些信息对于软件授权、设备识别、系统安全等多个方面都有重要作用。本文将深入探讨如何使用C#编程语言...

    用于加密获取CPU序列号、硬盘ID、网卡MAC地址1

    描述中的代码片段展示了如何使用C#编程语言来获取Windows系统中的CPU序列号、硬盘ID以及网卡MAC地址。 首先,我们来看获取CPU序列号的部分(行06-12)。这是通过创建一个`ManagementClass`实例,其类名为"Win32_...

    C#获取硬件编号

    在C#中,有时我们需要获取计算机的硬件相关信息,例如CPU编号、主板ID、硬盘ID、网卡地址以及内存信息。这些信息在系统诊断、软件授权、设备识别等方面都有重要的作用。本文将详细介绍如何利用C#来获取这些硬件编号...

    c#获取cpu 主板 硬盘ID

    在IT领域,尤其是在系统管理和软件开发中,有时我们需要获取计算机硬件的相关信息,如CPU序列号、主板ID(也称为基板ID或系统UUID)、硬盘序列号以及网卡MAC地址等。这些信息对于软件授权、设备识别和故障排查等方面...

    c#获取硬件设备序列号等参数

    本篇将深入探讨如何使用C#来获取CPU、硬盘、网卡以及操作系统的详细参数。 首先,获取CPU信息主要涉及处理器的标识,这可以通过`ManagementObjectSearcher`类来实现,该类是Windows Management Instrumentation ...

    C# 获取硬件信息

    C# 获取硬件信息是指通过使用 C# 语言来获取计算机的硬件信息,包括 CPU 序列号、主板编号、网卡编号等。这些信息可以通过使用 System.Management 命名空间来访问和管理。该命名空间提供了对大量管理信息和管理事件...

    用C#获取硬盘序列号,CPU序列号,网卡MAC地址的

    privatestring[]GetMoc() { string[]str=newstring[3]; ManagementClassmcCpu=newManagementClass(“win32_Processor”); ManagementObjectCollectionmocCpu=mcCpu.GetInstances(); foreach...

    原创 C#获取计算机各种硬件设备的序列号

    在IT领域,尤其是在软件开发中,获取计算机硬件设备的序列号是常见的需求,尤其是在系统管理、设备跟踪或者软件授权等方面。本文将详细讲解如何使用C#编程语言来获取计算机的各种硬件设备,包括CPU、硬盘(通常指的...

    c#中获取服务器IP

    本篇内容详细介绍了如何在C#中获取服务器或客户端的IP地址,以及如何获取CPU序列号、硬盘ID和网卡MAC地址等信息。这些技术点对于开发基于网络的应用程序非常有用,能够帮助开发者更好地管理和监控系统的运行状态。

    获取CPU标识,硬盘标识,网卡MAC的C#源代码

    在IT领域,尤其是在软件开发中,获取计算机硬件的标识信息是常见的需求,这些信息包括CPU标识、硬盘序列号以及网卡的MAC地址。本篇将详细介绍如何使用C#编程语言来实现这一功能,并探讨相关知识点。 首先,让我们...

    C#获得PC网卡号、CPU号、硬盘号等信息

    以下将详细介绍如何使用C#获取网卡号(MAC地址)、CPU序列号、硬盘序列号以及IP地址和登录用户名的相关知识。 1. **获取网卡号(MAC地址)** MAC地址是物理网络接口控制器(网卡)的唯一标识。在C#中,可以使用`...

    根据电脑硬件信息生成唯一的序列号,绝对可用

    根据电脑硬件信息生成唯一的序列号,不依赖于任何第三方组件,包括:硬盘的卷标号、硬盘ID、CPU的序列号、网卡硬件地址、IP地址、登录用户名、计算机名、PC类型、物理内存。

    c#制作 机器码(硬盘、网卡、CPU) 源代码

    总结,通过C#编程语言,我们可以利用.NET Framework的`System.Management`命名空间和WMI服务来获取硬件设备的唯一标识,如硬盘序列号、网卡MAC地址和CPU ID,这些信息在软件开发中有着广泛的应用。在实际开发中,...

    获取电脑CPU,硬盘,网卡,特征

    本文将深入探讨如何使用C#编程语言获取本机电脑的CPU、硬盘序列号以及网卡MAC地址等关键硬件特征。 首先,让我们了解CPU信息的获取。在C#中,我们可以利用`System.Management`命名空间中的类来访问Windows管理对象...

    C# 获取硬件源代码

    本文将深入探讨如何使用C#来获取CPU序列号、硬盘序列号、计算机名称以及MAC地址,这些都是系统硬件的重要标识。 首先,让我们来看如何获取CPU序列号。CPU序列号是处理器的唯一标识,可以通过Windows Management ...

Global site tag (gtag.js) - Google Analytics