C#(WinForm)實現(xiàn)軟件注冊_第1頁
C#(WinForm)實現(xiàn)軟件注冊_第2頁
C#(WinForm)實現(xiàn)軟件注冊_第3頁
C#(WinForm)實現(xiàn)軟件注冊_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)C#(WinForm)實現(xiàn)軟件注冊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 / 獲取硬盤卷標(biāo)號 13 / 14 / 15 public str

2、ing GetDiskVolumeSerialNumber() 16 17 ManagementClass 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序列號 2

3、5 / 26 / 27 public string GetCpu() 28 29 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.PropertiesProcessori

4、d.Value.ToString(); 35 36 return strCpu; 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 c

5、harCode = new char25; /存儲ASCII碼 52 public 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()

6、; 71 for (int i = 1; i charCode.Length; 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

7、 = 1; k = 48 & intNumberk = 65 & intNumberk 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.Collect

8、ions.Generic; 3 using System.ComponentModel; 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 I

9、nitializeComponent();18 19 public static bool state = true; /軟件是否為可用狀態(tài)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, EventA

10、rgs e)34 35 try36 37 if (txtRNum.Text = 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.Set

11、Value(UserName, Rsoft);42 this.Close();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 th

12、is.txtMNum.Text = softReg.GetMNum();59 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 frmMainFo

13、rm : Form public frmMainForm() InitializeComponent(); 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(); / /

14、窗體加載 / / / private void frmMainForm_Load(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 = 此軟件已注

15、冊!; this.btnReg.Enabled = false; return; this.Text = 此軟件尚未注冊!; this.btnReg.Enabled = true; MessageBox.Show(您現(xiàn)在使用的是試用版,可以免費試用30次!,信息,MessageBoxButtons.OK,MessageBoxIcon.Information); Int32 tLong; try tLong= (Int32)Registry.GetValue(HKEY_LOCAL_MACHINESOFTWAREAngel, UseTimes, 0); MessageBox.Show(您已經(jīng)使用了

16、 + tLong + 次!, 信息, MessageBoxButtons.OK, 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 tTimes = tLong + 1; Registry.SetValue(HKEY_LOCAL_MACHINESOFTWA

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論