C#(WinForm)实现软件注册

上传人:油** 文档编号:43632710 上传时间:2021-12-03 格式:DOCX 页数:4 大小:23.77KB
收藏 版权申诉 举报 下载
C#(WinForm)实现软件注册_第1页
第1页 / 共4页
C#(WinForm)实现软件注册_第2页
第2页 / 共4页
C#(WinForm)实现软件注册_第3页
第3页 / 共4页
资源描述:

《C#(WinForm)实现软件注册》由会员分享,可在线阅读,更多相关《C#(WinForm)实现软件注册(4页珍藏版)》请在装配图网上搜索。

1、精品文档,仅供学习与交流,如有侵权请联系网站删除C#(WinForm)实现软件注册SoftReg类: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Management; 6 7 namespace SoftRegister 8 9 class SoftReg 10 11 / 12 / 获取硬盘卷标号 13 / 14 / 15 public string GetDiskVolumeSerialNumber() 16 17 M

2、anagementClass mc = new ManagementClass(win32_NetworkAdapterConfiguration); 18 ManagementObject disk = new ManagementObject(win32_logicaldisk.deviceid=c:); 19 disk.Get(); 20 return disk.GetPropertyValue(VolumeSerialNumber).ToString(); 21 22 23 / 24 / 获取CPU序列号 25 / 26 / 27 public string GetCpu() 28 2

3、9 string strCpu = null; 30 ManagementClass myCpu = new ManagementClass(win32_Processor); 31 ManagementObjectCollection myCpuCollection = myCpu.GetInstances(); 32 foreach (ManagementObject myObject in myCpuCollection) 33 34 strCpu = myObject.PropertiesProcessorid.Value.ToString(); 35 36 return strCpu

4、; 37 38 39 / 40 / 生成机器码 41 / 42 / 43 public string GetMNum() 44 45 string strNum = GetCpu()+GetDiskVolumeSerialNumber(); 46 string strMNum = strNum.Substring(0,24); /截取前24位作为机器码 47 return strMNum; 48 49 50 public int intCode = new int127; /存储密钥 51 public char charCode = new char25; /存储ASCII码 52 publ

5、ic int intNumber = new int25; /存储ASCII码值 53 54 /初始化密钥 55 public void SetIntCode() 56 57 for (int i = 1; i intCode.Length; i+) 58 59 intCodei = i % 9; 60 61 62 63 / 64 / 生成注册码 65 / 66 / 67 public string GetRNum() 68 69 SetIntCode(); 70 string strMNum = GetMNum(); 71 for (int i = 1; i charCode.Length;

6、 i+) /存储机器码 72 73 charCodei =Convert.ToChar(strMNum.Substring(i - 1, 1); 74 75 for (int j = 1; j intNumber.Length; j+) /改变ASCII码值 76 77 intNumberj = Convert.ToInt32(charCodej) + intCodeConvert.ToInt32(charCodej); 78 79 string strAsciiName = ; /注册码 80 for (int k = 1; k = 48 & intNumberk = 65 & intNum

7、berk 84 = 97 & intNumberk 122) /判断如果大于z 89 90 strAsciiName += Convert.ToChar(intNumberk - 10).ToString(); 91 92 else 93 94 strAsciiName+=Convert.ToChar(intNumberk-9).ToString(); 95 96 97 return strAsciiName; 98 99 100 注册窗体:1 using System; 2 using System.Collections.Generic; 3 using System.ComponentM

8、odel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 using Microsoft.Win32;10 11 namespace SoftRegister12 13 public partial class frmRegisterForm : Form14 15 public frmRegisterForm()16 17 InitializeComponent();18 19 public stati

9、c bool state = true; /软件是否为可用状态20 SoftReg softReg = new SoftReg();21 private void btnClose_Click(object sender, EventArgs e)22 23 if (state = true)24 25 this.Close();26 27 else 28 29 Application.Exit();30 31 32 33 private void btnReg_Click(object sender, EventArgs e)34 35 try36 37 if (txtRNum.Text =

10、 softReg.GetRNum()38 39 MessageBox.Show(注册成功!重启软件后生效!, 信息, MessageBoxButtons.OK, MessageBoxIcon.Information);40 RegistryKey retkey = Registry.CurrentUser.OpenSubKey(Software, true).CreateSubKey(wxf).CreateSubKey(wxf.INI).CreateSubKey(txtRNum.Text);41 retkey.SetValue(UserName, Rsoft);42 this.Close();

11、43 44 else45 46 MessageBox.Show(注册码错误!, 警告, MessageBoxButtons.OK, MessageBoxIcon.Warning);47 txtRNum.SelectAll();48 49 50 catch (Exception ex)51 52 throw new Exception(ex.Message);53 54 55 56 private void frmRegisterForm_Load(object sender, EventArgs e)57 58 this.txtMNum.Text = softReg.GetMNum();59

12、60 61 主窗体:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using Microsoft.Win32;namespace SoftRegister public partial class frmMainForm : Form public frmMainForm() Initiali

13、zeComponent(); SoftReg softReg = new SoftReg(); private void btnClose_Click(object sender, EventArgs e) Application.Exit(); private void btnReg_Click(object sender, EventArgs e) frmRegisterForm frmRegister = new frmRegisterForm(); frmRegister.ShowDialog(); / / 窗体加载 / / / private void frmMainForm_Loa

14、d(object sender, EventArgs e) /判断软件是否注册 RegistryKey retkey = Registry.CurrentUser.OpenSubKey(SOFTWARE, true).CreateSubKey(wxf).CreateSubKey(wxf.INI); foreach (string strRNum in retkey.GetSubKeyNames() if (strRNum = softReg.GetRNum() this.lblRegInfo.Text = 此软件已注册!; this.btnReg.Enabled = false; return

15、; this.Text = 此软件尚未注册!; this.btnReg.Enabled = true; MessageBox.Show(您现在使用的是试用版,可以免费试用30次!,信息,MessageBoxButtons.OK,MessageBoxIcon.Information); Int32 tLong; try tLong= (Int32)Registry.GetValue(HKEY_LOCAL_MACHINESOFTWAREAngel, UseTimes, 0); MessageBox.Show(您已经使用了 + tLong + 次!, 信息, MessageBoxButtons.OK

16、, MessageBoxIcon.Information); catch MessageBox.Show(欢迎使用本软件!,信息,MessageBoxButtons.OK,MessageBoxIcon.Information); Registry.SetValue(HKEY_LOCAL_MACHINESOFTWAREAngel,UseTimes,0,RegistryValueKind.DWord); tLong = (Int32)Registry.GetValue(HKEY_LOCAL_MACHINESOFTWAREAngel, UseTimes, 0); if (tLong 30) int

17、tTimes = tLong + 1; Registry.SetValue(HKEY_LOCAL_MACHINESOFTWAREAngel, UseTimes, tTimes); else DialogResult result = MessageBox.Show(试用次数已到!您是否需要注册?, 信息, MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (result = DialogResult.Yes) frmRegisterForm.state = false; btnReg_Click(sender, e); else Application.Exit(); 【精品文档】第 4 页

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!