商标注册_企业软件

商标注册_企业软件开发软件时,当用到商业用途时,注册码与激活码就显得很重要了。现在的软件激活成功教程技术实在在强了,各种国内外大型软件都有注册机制,但同时也不断地被激活成功教程。下面发的只是一个常用版本,发出源码被破就更容易了,但我们学习的是技术。当然也为以后自己的软件不会被轻易激活成功教程。第一步。根据卷标,CPU序列号,生成机器码//取得设备硬盘的卷标号       publicstaticstringG

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

开发软件时,当用到商业用途时,注册码与激活码就显得很重要了。现在的软件激活成功教程技术实在在强了,各种国内外大型软件都有注册机制,但同时也不断地被激活成功教程。下面发的只是一个常用版本,发出源码被破就更容易了,但我们学习的是技术。当然也为以后自己的软件不会被轻易激活成功教程。

第一步。根据卷标,CPU序列号,生成机器码

// 取得设备硬盘的卷标号
        public static string GetDiskVolumeSerialNumber()
        {

            ManagementClass mc = new ManagementClass(“Win32_NetworkAdapterConfiguration”);
            ManagementObject disk = new ManagementObject(“win32_logicaldisk.deviceid=/”d:/””);
            disk.Get();
            return disk.GetPropertyValue(“VolumeSerialNumber”).ToString();
        }

        //获得CPU的序列号
        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;
        }
        //生成机器码
        public static string getMNum()
        {

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

            for (int i = 1; i < intCode.Length; i++)
            {

                intCode[i] = i % 9;
            }
        }

第二步。根据机器码 生成注册码 
        //生成注册码     

       public static string getRNum()
        {

            setIntCode();//初始化127位数组
            for (int i = 1; i < Charcode.Length; i++)//把机器码存入数组中
            {

                Charcode[i] = Convert.ToChar(getMNum().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;
        }

第三步。检查注册状况,若没有注册,可自定义试用      

/// <summary>
        /// 检查注册
        /// </summary>
        private void CheckRegist()
        {

                this.btn_reg.Enabled = true;

                  RegistryKey retkey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(“software”, true).CreateSubKey(“wxk”).CreateSubKey(“wxk.INI”);
                foreach (string strRNum in retkey.GetSubKeyNames())//判断是否注册
                {

                    if (strRNum == clsTools.getRNum())
                    {

                        thControl(true);
                        return;
                    }
                }
                thControl(false);
                Thread th2 = new Thread(new ThreadStart(thCheckRegist2));
                th2.Start();

          }
        }
       
        /// <summary>
        /// 验证试用次数
        /// </summary>
        private static void thCheckRegist2()
        {

            MessageBox.Show(“您现在使用的是试用版,该软件可以免费试用3000000次!”, “提示”, MessageBoxButtons.OK, MessageBoxIcon.Information);
            Int32 tLong;
            try
            {

                tLong = (Int32)Registry.GetValue(“HKEY_LOCAL_MACHINE//SOFTWARE//angel”, “UseTimes”, 0);
                MessageBox.Show(“感谢您已使用了” + tLong + “次”, “提示”, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch
            {

                Registry.SetValue(“HKEY_LOCAL_MACHINE//SOFTWARE//angel”, “UseTimes”, 0, RegistryValueKind.DWord);
                MessageBox.Show(“欢迎新用户使用本软件”, “提示”, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            tLong = (Int32)Registry.GetValue(“HKEY_LOCAL_MACHINE//SOFTWARE//angel”, “UseTimes”, 0);
            if (tLong < 3000000)
            {

                int Times = tLong + 1;
                Registry.SetValue(“HKEY_LOCAL_MACHINE//SOFTWARE//angel”, “UseTimes”, Times);
            }
            else
            {

                MessageBox.Show(“试用次数已到”, “警告”, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                Application.Exit();
            }
        }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/188523.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 官场迷情–横刀灬一笑[通俗易懂]

    官场迷情–横刀灬一笑[通俗易懂]无业游民沈宜修偷瞄上小loli依琳,而他的宅女老婆秋叶却毫不知情。一次偶然的机会,沈宜修见识了美女市长苏静美的风情万种。沈宜修也开始了在依琳、静美和秋叶之间的周旋。此时事业也有所发展的沈宜修,却被美女主编林曼琴给剽窃,想要讨回公…

  • leetcode-149. 直线上最多的点数(map+判重)[通俗易懂]

    leetcode-149. 直线上最多的点数(map+判重)[通俗易懂]给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。示例 1:输入: [[1,1],[2,2],[3,3]]输出: 3解释:^|| o| o| o +————->0 1 2 3 4示例 2:输入: [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]输出: 4解释:^|| o| o o| o| o o+—–

  • idea创建java web项目_ideajava创建项目

    idea创建java web项目_ideajava创建项目JavaWeb专栏之(二):Idea创建JavaWeb项目前言:关注:《遇见小Du说》微信公众号,分享更多Java知识,不负每一次相遇。更多内容请访问:www.dushunchang.top在上一篇博客中传送门,小Du带大家了解了什么JavaWeb,B/C与C/S结构,以及Java开发中最常见的MVC三层架构模式。本文章将带大家使用Idea创建JavaWeb项目的教程。在企业开发中,我们经常使用maven构建框架来创建项目,但很多初学者没有接触过Maven构建工具,所以本期教程使用Idea自带的W

  • 【cocos2d-x】尝鲜 Cocos Code IDE(不断更新)

    【cocos2d-x】尝鲜 Cocos Code IDE(不断更新)

  • 使用多重循环打印平行四边形「建议收藏」

    packagecom.qfedu.test1;/*** 使用多重循环打印平行四边形* 当我们打印三角形的时候:* 1.观察第一行符号的个数,第一行符号的个数决定了循环计数器的初始值* 2.观察形状符号的个数是越来越多的话就++越来越少就–* 3.当计数器变化为++的时候判断条件一定要小于或者小于等于某个值相当于设定一个上限* 4.当计数器变化为–的时候判断条件一定要大于或者大于等于某个值相当于设定一个下限*/publicclassT

  • 原码反码补码运算规则_正数的原码反码补码相同吗

    原码反码补码运算规则_正数的原码反码补码相同吗一.机器数和真值在学习原码,反码和补码之前,需要先了解机器数和真值的概念.1、机器数一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号,正数为0,负数为1.比如,十进制中的数+3,计算机字长为8位,转换成二进制就是00000011。如果是-3,就是10000011。那么,这里的00000011和10000011就是机器数。2、因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数100

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号