C#读取计算机的机器码、网卡、设备码

C# 根据机器码生成+验证注册码简单实现demo C# 注册码简单实现demo 阅读详情
/// <summary>
/// 取得设备硬盘的卷标号
/// </summary>
/// <returns></returns>
public static string GetDiskVolumeSerialNumber()
 {
  ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
  ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");
  disk.Get();
    return disk.GetPropertyValue("VolumeSerialNumber").ToString();
 }

/// <summary>
/// 获得CPU的序列号
/// </summary>
/// <returns></returns>
public static string getCpu()
   {
     string strCpu = null;
     ManagementClass myCpu = new ManagementClass("win32_Processor");
     ManagementObjectCollection myCpuConnection = myCpu.GetInstances();
     foreach (ManagementObject myObject in myCpuConnection)
      {
         strCpu = myObject.Properties["Processorid"].Value.ToString();
          break;
        }
     return strCpu;
}

然后再组合生成机器码:

        /// <summary>
        /// 生成机器码
        /// </summary>
        /// <returns></returns>
        public static string getMNum()
        {
            string strNum = getCpu() + GetDiskVolumeSerialNumber();//获得24位Cpu和硬盘序列号
            string strMNum = strNum.Substring(0, 24);//从生成的字符串中取出前24个字符做为机器码
            return strMNum;
        }
        public int[] intCode = new int[127];//存储密钥
        public int[] intNumber = new int[25];//存机器码的Ascii值
        public char[] Charcode = new char[25];//存储机器码字
        public void setIntCode()//给数组赋值小于10的数
        {
            for (int i = 1; i < intCode.Length; i++)
            {
                intCode[i] = i % 9;
            }
        }

生成注册码等:

        /// <summary>
        /// 生成注册码
        /// </summary>
        /// <returns></returns>
        public string getRNum()
        {
            setIntCode();//初始化127位数组
            string MNum = getMNum();//获取注册码
            for (int i = 1; i < Charcode.Length; i++)//把机器码存入数组中
            {
                Charcode[i] = Convert.ToChar(MNum.Substring(i - 1, 1));
            }
            for (int j = 1; j < intNumber.Length; j++)//把字符的ASCII值存入一个整数组中。
            {
                intNumber[j] = intCode[Convert.ToInt32(Charcode[j])] + Convert.ToInt32(Charcode[j]);
            }
            string strAsciiName = "";//用于存储注册码
            for (int j = 1; j < intNumber.Length; j++)
            {
                if (intNumber[j] >= 48 && intNumber[j] <= 57)//判断字符ASCII值是否0-9之间
                {
                    strAsciiName += Convert.ToChar(intNumber[j]).ToString();
                }
                else if (intNumber[j] >= 65 && intNumber[j] <= 90)//判断字符ASCII值是否A-Z之间
                {
                    strAsciiName += Convert.ToChar(intNumber[j]).ToString();
                }
                else if (intNumber[j] >= 97 && intNumber[j] <= 122)//判断字符ASCII值是否a-z之间
                {
                    strAsciiName += Convert.ToChar(intNumber[j]).ToString();
                }
                else//判断字符ASCII值不在以上范围内
                {
                    if (intNumber[j] > 122)//判断字符ASCII值是否大于z
                    {
                        strAsciiName += Convert.ToChar(intNumber[j] - 10).ToString();
                    }
                    else
                    {
                        strAsciiName += Convert.ToChar(intNumber[j] - 9).ToString();
                    }
                }
            }
            return strAsciiName;//返回注册码
        }
        public static string GetNetCardMACAddress()
        {
            try
            {
                ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapter WHERE ((MACAddress Is Not NULL) AND (Manufacturer <> 'Microsoft'))");
                string NetCardMACAddress = "";
                foreach (ManagementObject mo in searcher.Get())
                {
                    NetCardMACAddress = mo["MACAddress"].ToString().Trim();
                }
                return NetCardMACAddress;
            }
            catch
            {
                return "";
            }

        }

 

C#实现获取CPU序列号 (附完整源码) 阅读详情

相关推荐

C#获取电脑网卡MAC地址和CPU序列号

然后,我们根据"IPEnabled"属性来判断网络适配器是否启用,若启用,则获取其对应的MAC地址。在上述代码中,我们首先分别调用GetMacAddress()和GetCpuSerialNumber()方法来获取网卡MAC地址和CPU序列号。在上述代码中,我们通过遍历"Win32_Processor"类的实例来获取CPU的信息。然后,我们直接获取"ProcessorId"属性的值作为CPU的序列号。以上是获取电脑网卡MAC地址和CPU序列号的代码实现,在C#编程中可以很方便地使用这些信息来完成各种任务。

CyberWarpX的博客 788

C#获取CPU序列号机器码并生成注册码

<br /><br />本例用C#获取CPU序列号生成机器码,最后生成注册码,在软件注册的时候经常用到,效率还算可以。<br />using System.Management;//需要在项目中添加System.Management引用<br />namespace ECBC_CDKEY<br />{<br />public class SoftReg<br />{<br />/// <summary><br />/// 取得设备硬盘的卷标号<br />/// </summary><br />/// <re

Jerry_pic的专栏 4263

C#实现根据cpu和磁盘序列号生成注册码( 附完整源码)

C#实现根据cpu和磁盘序列号生成注册码( 附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 583

C# 获取电脑CPU序列号

ManagementClass 的作用域为:System.Management /// 命名空间:System.Management private static string GetCPUSerialNum() { string cpuSerialNum = string.Empty; try { ManagementClass manc = new ManagementClass("Win32_Processor"); Management

^@^lemon tea^@^ 2381

C# 软件 机器码生成注册码

开发软件时,当用到商业用途时,注册码与激活码就显得很重要了。本代码实现了获取机器的硬盘序列号与CUP序列号,生成机器码,并通过机器码得到注册码

C#_读取机器码_CPU序列号_生成注册码类

C# 读取机器码 CPU序列号 生成注册码类

C#获取cpu/主板/硬盘序列号

MessageBox.Show("硬盘序列号:" + id.Trim(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);MessageBox.Show("cpu序列号:" + cpuInfo.Trim(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);//获取cpu序列号。

ydsyang的专栏 4846

【扩展卡尔曼滤波器EKF】基于UWB雷达的SLAM能够在室内环境内映射自然点地标,并改善机器人定位(Matlab代码实现)

内容概要:本文档提供了名为“Plecs全桥LLC谐振变换器仿真模型”的资源,主要用于电力电子领域中LLC谐振变换器的建模与仿真研究。该模型基于Plecs软件平台构建,聚焦于全桥LLC拓扑结构,涵盖其工作原理、关键参数设计及动态性能仿真,帮助用户深入理解LLC谐振变换器在软开关、高效率功率转换方面的特性与实现方法。文档内容包括系统建模、主电路参数计算、控制策略实现以及仿真结果分析等部分,适用于高频高效电源变换器的研发与教学实践。; 适合人群:具备电力电子与电力系统基础知识,从事电源变换器设计、仿真与优化工作的工程师及高校研究生。; 使用场景及目标:① 掌握LLC谐振变换器的工作机理与Plecs仿真建模流程;② 学习全桥LLC拓扑的参数设计与软开关实现方法;③ 为高频高效DC-DC变换器的科研、课程设计或工程项目提供仿真基础和技术参考。; 阅读建议:建议结合电力电子技术教材与Plecs官方文档同步学习,重点理解谐振腔参数(如Lr、Cr、Lm)对增益特性与软开关的影响,并通过调整仿真参数验证不同工况下的系统响应,以加深对LLC变换器设计规律的理解。

C# 获取主板编号计算注册码

C# 获取主板编号计算注册码

廷益_飞鸟的博客 744

logisim计组实验八 乘法器

原理:点这里 有问题欢迎留言哦~ 文章目录五位阵列乘法器电路图时间延迟分析六位补码阵列乘法器五位无符号乘法流水线原理图电路图原码一位乘法器原理图电路图补码一位乘法器 五位阵列乘法器 电路图 此处注意:全加器FA的cout端是进位端而非输出端 使用硬件控制比循环累加的速度快得多。 但是存在串行进位链 改进版: 时间延迟分析 T是计算相加数的一级门延迟 3n–>2n 性能差别在1.5倍 ...

treblez's blog 2万+

Information Fusion投稿避坑指南:从初稿到返修的完整流程解析(附模板下载)

本文详细解析了向Information Fusion投稿的全流程,从初稿准备到返修策略,涵盖了22个关键细节。特别强调了投稿前的隐形门槛、LaTeX模板的字体陷阱、图表规范要求以及返修回复的进阶技巧,帮助研究者避免常见错误,提升稿件接受率。附有实用模板下载,助力学术写作效率提升。

tgb34567890的博客 1420

C# 桌面程序 获取机器码

机器码获取原理(仅个人理解) 1、CPU信息+硬盘信息+网卡信息 = 机器码 2、SHA256加密(机器码)=SHA256值 3、MD5加密(SHA256值)=最终 机器码 以上为全部代码,代码不多,只是一个获取机器码的小功能,希望能给新手带来帮助。 工程文件也会共享下载,富裕的支持下,不富裕的自己复制也是可以用。

q234579464573499的博客 2169

Mac上IDEA的PlantUML插件报错‘找不到Graphviz’?手把手教你用Homebrew搞定(附阿里云镜像避坑)

本文详细解决了Mac上IDEA的PlantUML插件报错‘找不到Graphviz’的问题,通过Homebrew安装Graphviz并配置阿里云镜像源,特别针对Apple Silicon芯片用户提供了优化方案。文章还涵盖了IDEA中PlantUML插件的正确配置和常见问题排查,帮助开发者高效使用PlantUML进行UML图表设计。

weixin_42619742的博客 468

c#获取cpu序列号

c#获取cpu序列号

yx2322081的博客 2363

网络可视化工具netron详细安装流程

netron安装目录1.netron 简介2.不同操作系统下的安装使用方式2.1 在线版本:只要有浏览器就可以2.2 不同操作系统安装使用3.netron支持的网络框架4.netron测试演示 1.netron 简介 在实际的项目中,经过会遇到各种网络模型,需要我们快速去了解网络结构。如果单纯的去看模型文件,脑海中很难直观的浮现网络的架构。 这时,就可以使用netron可视化工具,可以清晰的看到每一层的输入输出,网络总体的架构,而且支持各种不同网络框架,简单好用。 2.不同操作系统下的安装使用方式 2.1

江南研习社 12万+

华为Atlas 300I推理卡驱动安装避坑指南:不同安装方式的选择与优化

本文详细解析华为Atlas 300I推理卡驱动安装的三种主流方式(.run、.rpm和源码编译),提供关键环境检查步骤、安装流程优化建议及常见问题解决方案,帮助开发者高效完成芯片推理卡部署并规避典型安装陷阱。

q9w8e7r6t5的博客 431

C#实现注册码功能编程总结

C# 给自己写的软件,加注册码功能   为自己写的程序加一个注册功能吧。生成的机器号是根据CPU和硬盘号来的,根据自己的需求改成是否是随机生成。   代码直接粘贴到新建类覆盖原代码就能直接用了。 using System; using System.Management; using System.Security.Cryptography; using System.

bcbobo21cn的专栏 6369

HTML音乐爱心3D旋转相册完整源码

HTML音乐爱心3D旋转相册完整源码

LilyCoder的博客 1379

C#获取电脑的硬件ID

【代码】C#获取电脑的硬件ID。

超胆孤侠 1848

学Simulink——基于Simulink的AUTOSAR架构下电机控制软件组件建模

本文详细介绍了在Simulink中基于AUTOSAR架构开发电机控制软件组件(SWC)的全流程。主要内容包括:首先阐述了AUTOSAR架构对汽车电子系统开发的价值,包括提高软件复用率、降低集成成本和改善验证环境。然后重点讲解了在Simulink中构建电机控制SWC的具体步骤:从创建AUTOSAR组件模型、定义数据端口和服务端口,到搭建FOC控制算法、配置运行实体,最后生成AUTOSAR描述文件和验证RTE接口。文章还提供了与基础软件(BSW)的集成方案、工程实践要点和常见问题解决方案,并以大众MEB平台等实

amy_mhd的博客 67

【软考】系统集成项目管理工程师(一)信息化知识

软考中级——系统集成项目管理工程师备考干货第一章:信息化知识。

商务合作 | 共同学习 | 携手共进 9万+

c#系统硬件信息

转自:http://blog.youkuaiyun.com/xiaoyong_net/article/details/46924771 我们在利用C#开发桌面程序(Winform)程序的时候,经常需要获取一些跟系统相关的信息,例如用户名、MAC地址、IP地址、硬盘ID、CPU序列号、系统名称、物理内存等。 首先需要引入命名空间: [csharp] view plain

风随星月 677

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

C#获取硬盘序列号以及CPU和IP地址

一、获取CPU序列号。

zd8766zd的博客 543

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

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

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

a99996867的博客 775

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【C#】获取机器码MachineCode

需求:机器码可以用于校验用户是否用的同一台电脑登录,比如在别的机器上登录时做强制下线(踢人下线)。通常在用户注册时,计算一次用户的机器码跟随注册信息一起发送给服务器。 机器码的作用看百度百科: 定义规则: 机器码 = CPU序列号 + 硬盘ID + 网卡硬件地址 public class MachineCode { static MachineCode machineCode; ...

weixin_33938733的博客 1719

c#如何获得硬盘的物理序列号

using System;using System.Runtime.InteropServices;using System.Management;namespace Hardware{/// <summary>/// Hardware_Mac 的摘要说明。/// </summary>public class HardwareInfo{ //取机器名 pu...

weixin_30363981的博客 625
上一篇: C# 实现office在线预览
下一篇: .NET全栈程序员的修炼之路(C#全栈程序员需要掌握的知识有哪些?)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值