主要思路:擷取機器的CPU序號,得到機器碼。通過對機器碼進行MD5運算之後得到註冊碼。將註冊碼寫進註冊表或系統目錄。
//1.在程式的入口處(winform)檢測註冊檔案是否存在,如果不存在
//則提示使用者註冊檔案損壞或者使用者未註冊,如果註冊檔案存在,則讀取檔案內容,判斷註冊碼是否正確。
//在程式的入口函數所在的檔案要引用 using System.IO;來進行檔案操作。
- using System;
- using System.Collections.Generic;
- using System.Windows.Forms;
- using System.IO;
- namespace LoginWindowTest
- {
- static class Program
- {
- /// <summary>
- /// 應用程式的主進入點。
- /// </summary>
- [STAThread]
- static void Main()
- {
- String sysFolder = System.Environment.SystemDirectory;//擷取系統安裝目錄如:c:\windows\system32
- Reg rg=new Reg();//此類裡有幾個函數(擷取CPU序號,對字串進行MD5運算等)
- Application.EnableVisualStyles();
- Application.SetCompatibleTextRenderingDefault(false);
- if (!File.Exists(sysFolder + "file://sixi.ini/"))
- {
- //如果註冊檔案不存在。註冊失敗
- //建立註冊檔案
- File.Create(sysFolder + "file://sixi.ini/");
- MessageBox.Show("請註冊!");
- Application.Run(new RegForm());//進入註冊介面。
- }
- else
- {//如果註冊檔案存在,讀取檔案內容跟密碼比較
- byte[] arry=new byte [32];
- string str = "";
- FileInfo fi = new FileInfo(sysFolder + "file://sixi.ini/");
- FileStream fs = fi.OpenRead();
- int i=fs.Read(arry, 0, 32);
- fs.Close();
- str = System.Text.Encoding.ASCII.GetString(arry);
- if (str == rg.getMd5(rg.GetCpuID()).Trim())//如果註冊檔案裡的字串和經過MD5運算過的註冊碼相同,則註冊成功
- {
- MessageBox.Show("軟體已經成功註冊!");
- Application.Run(new MainForm());//進入軟體主介面
- }
- else
- {
- MessageBox.Show("請註冊軟體!");
- Application.Run(new RegForm());//進入註冊介面。
- }
- }
- }
- }
- }