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); } } }
/// <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); } }
private void Form1_DoubleClick(object sender, EventArgs e) { txbJqh.Text = RegUtility.GetDiskCPUNumber(); txbYzm.Text = RegUtility.GetRegNumber(txbJqh.Text); }
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); } } }
private void radCpu_CheckedChanged(object sender, EventArgs e) { txbJqh.Text = RegUtility.GetCpuNumber(); txbYzm.Text = RegUtility.GetRegNumber(txbJqh.Text); }