Пример #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            string strRegNumber = RegUtility.GetRegNumber(reginfo.DiskNumber);

            if (txbYzm.Text.Trim() == "")//判断用户名是否为空
            {
                MessageBox.Show("请输入注册码!", "温馨提示:");
                txbYzm.Focus();
                return;
            }

            //注册码
            string zcm = DBA.Code.DecryptionAll(txbYzm.Text.Trim());


            //防止利用相同注册码重复注册延长使用时间
            if (reginfo.SerialNo == zcm)
            {
                MessageBox.Show("请勿使用相同注册码重复注册", "系统注册", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }


            //增加一个万用注册码
            if (txbYzm.Text.Trim() == @"gGHCJGCFREGDFBBIMEFDTEHEQIHEMBEH\CEH_CHBhIGIaIDERHCBdBIF[DBEcHFFECCI")
            {
                MessageBox.Show("恭喜您,注册成功!您获得了此系统的授权", "系统注册", MessageBoxButtons.OK,
                                MessageBoxIcon.Information);
                //保存注册信息
                reginfo.WriteSerialNo(zcm);
                this.Close();
                this.DialogResult = DialogResult.OK;
            }
            else
            {
                //zcm.Substring(zcm.Length-10)  注册码生成日期 yyyy-mm-dd
                string strPcNm = zcm.Substring(0, zcm.Length - 20);
                //这里还得加个软件当前年版本和注册码年版本的校验!比如当前2006来个2007的注册码

                if (strRegNumber.Equals(strPcNm))
                {
                    //保存注册信息
                    Lib.reginfo.WriteSerialNo(zcm);
                    Lib.reginfo.ReadRegInfo();

                    MessageBox.Show("恭喜您,注册成功!", "系统注册", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    this.Close();
                    this.DialogResult = DialogResult.OK;
                }
                else
                {
                    MessageBox.Show("请确认您的输入是否正确!", "注册失败", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
Пример #2
0
 /// <summary>
 /// 判断是否注册
 /// </summary>
 /// <returns></returns>
 public bool CheckRegedit(DateTime dtWebHost, bool bIsWebHost)
 {
     try
     {
         string regCode = RegUtility.GetRegNumber(_DiskNumber);
         //if (_SerialNo == "I173387EFIE8" || (!String.IsNullOrEmpty(regCode) && _SerialNo.Equals(regCode)))
         //改为校验前面的硬件ID注册码以及配置年和注册码取出来的年部分(避免买了一年的多IPC版本,把注册码复制到多年用)
         if (_SerialNo == "I1733817EEIE8JFF0")
         {
             return(true);
         }
         else if ((!String.IsNullOrEmpty(regCode) && StrPC_SQM.Equals(regCode)))
         {
             bool bRs = true;
             if (bIsWebHost)
             {
                 bRs = dtWebHost < DtSqEndDate ? true : false;
             }
             else
             {
                 //防止调整客户端时间,造成一直不过期的现象,要求重新注册
                 if (!(DateTime.Now >= _LastUsedTime && _LastUsedTime > _FirstUsedTime))
                 {
                     #region 采取策略是强制过期还是保留使用时间差?
                     ////使用强制过期,不满年直接变为满年
                     //TimeSpan ts = (_LastUsedTime - _FirstUsedTime).Duration();
                     //_FirstUsedTime = DateTime.Now.AddDays(-(ts.Days / nRegDay + 1) * nRegDay);
                     //_LastUsedTime = DateTime.Now;
                     bRs = false;
                     #endregion
                 }
                 else
                 {
                     bRs = DateTime.Now < DtSqEndDate ? true : false;
                 }
             }
             return(bRs);
         }
         else
         {
             return(false);
         }
     }
     catch (Exception ex)
     {
         return(false);
     }
 }
Пример #3
0
 private void Form1_DoubleClick(object sender, EventArgs e)
 {
     txbJqh.Text = RegUtility.GetDiskCPUNumber();
     txbYzm.Text = RegUtility.GetRegNumber(txbJqh.Text);
 }
Пример #4
0
        private void button1_Click(object sender, EventArgs e)
        {
            //txbYzm.Text = DBA.Code.encrypt("I173387EFIE8");

            if (String.IsNullOrEmpty(txbJqh.Text))
            {
                MessageBox.Show("请完整填写注册信息!");
                txbJqh.Focus();
                return;
            }
            else
            {
                //原机器码
                string strDePcNm = DBA.Code.DecryptionAll(txbJqh.Text.Trim());

                //机器授权码
                string strPcNm_regNm = RegUtility.GetRegNumber(strDePcNm);

                //生成时间
                string strC_Date    = DateTime.Now.ToString("yyyy-MM-dd"); //yyyy-MM-dd HH:mm:ss
                string strSqjz_Date = dtPkSqEnd.Value.ToString("yyyy-MM-dd");

                //加密机器授权码及数据使用授权码[x|BegData|x|x]
                txbYzm.Text = DBA.Code.encrypt(strPcNm_regNm + strC_Date + strSqjz_Date);

                //复制注册码
                Clipboard.SetText(this.txbYzm.Text.Trim());
            }

            //增加授权记录
            using (StreamWriter sw = new StreamWriter(shFile, true))
            {
                //分别是时间、机器号、授权信息、注册码
                string strRegDtAndUInfo = DateTime.Now.ToString() + " 为 " + txbUserInfo.Text.Trim();
                string strRegJQH        = "机器号:" + txbJqh.Text.Trim();
                string strRegZCM        = "授权码:" + txbYzm.Text;

                string strRegAllInfo = string.Format("{0}\r\n{1}\r\n{2}\r\n{3}", strRegDtAndUInfo, strRegJQH, strRegZCM, "-------------------------------------------------");
                sw.WriteLine(strRegAllInfo);

                //加密
                //using (StreamWriter swReg = new StreamWriter(strRegKeyFile, true))
                //{
                //    PzCompression pzCom = PzCompressionHelper.getPzCompression(CompressionType.GZip);
                //    byte[] byTmp = pzCom.CompressToByte(strRegAllInfo);
                //    swReg.WriteLine(swReg);
                //}

                using (FileStream fsReg = new FileStream(strRegKeyFile, FileMode.OpenOrCreate, FileAccess.Write))
                {
                    fsReg.Position = fsReg.Length;

                    PzCompression pzCom = PzCompressionHelper.getPzCompression(CompressionType.GZip);
                    byte[]        byTmp = pzCom.CompressToByte(strRegAllInfo);

                    byte[] byLen = System.BitConverter.GetBytes(byTmp.Length);

                    fsReg.Write(byLen, 0, byLen.Length);
                    fsReg.Write(byTmp, 0, byTmp.Length);
                }
            }
        }
Пример #5
0
 private void radCpu_CheckedChanged(object sender, EventArgs e)
 {
     txbJqh.Text = RegUtility.GetCpuNumber();
     txbYzm.Text = RegUtility.GetRegNumber(txbJqh.Text);
 }