Winforms注册码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Management;
namespace APP
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = GetDiskVolumeSerialNumber();
}
private void button2_Click(object sender, EventArgs e)
{
textBox2.Text = getCpu();
}
private void button3_Click(object sender, EventArgs e)
{
textBox3.Text = getMNum();
}
// 取得设备硬盘的卷标号
public static string GetDiskVolumeSerialNumber()
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid="c:"");
disk.Get();
return disk.GetPropertyValue("VolumeSerialNumber").ToString();
}
//获得CPU的序列号
public static string getCpu()
{
string strCpu = null;
ManagementClass myCpu = new ManagementClass("win32_Processor");
ManagementObjectCollection myCpuConnection = myCpu.GetInstances();
foreach (ManagementObject myObject in myCpuConnection)
{
strCpu = myObject.Properties["Processorid"].Value.ToString();
break;
}
return strCpu;
}
//生成机器码
public static string getMNum()
{
string strNum = getCpu() + GetDiskVolumeSerialNumber();//获得24位Cpu和硬盘序列号
string strMNum = strNum.Substring(0, 24);//从生成的字符串中取出前24个字符做为机器码
return strMNum;
}

    public static int[] intCode = new int[127];//存储密钥
    public static int[] intNumber = new int[25];//存机器码的Ascii值
    public static char[] Charcode = new char[25];//存储机器码字
    public static void setIntCode()//给数组赋值小于10的数
    {
        for (int i = 1; i < intCode.Length; i++)
        {
            intCode[i] = i % 9;
        }
    }
    //生成注册码    
    public static string getRNum()
    {
        setIntCode();//初始化127位数组
        for (int i = 1; i < Charcode.Length; i++)//把机器码存入数组中
        {
            Charcode[i] = Convert.ToChar(getMNum().Substring(i - 1, 1));
        }
        for (int j = 1; j < intNumber.Length; j++)//把字符的ASCII值存入一个整数组中。
        {
            intNumber[j] = intCode[Convert.ToInt32(Charcode[j])] + Convert.ToInt32(Charcode[j]);
        }
        string strAsciiName = "";//用于存储注册码
        for (int j = 1; j < intNumber.Length; j++)
        {
            if (intNumber[j] >= 48 && intNumber[j] <= 57)//判断字符ASCII值是否0-9之间
            {
                strAsciiName += Convert.ToChar(intNumber[j]).ToString();
            }
            else if (intNumber[j] >= 65 && intNumber[j] <= 90)//判断字符ASCII值是否A-Z之间
            {
                strAsciiName += Convert.ToChar(intNumber[j]).ToString();
            }
            else if (intNumber[j] >= 97 && intNumber[j] <= 122)//判断字符ASCII值是否a-z之间
            {
                strAsciiName += Convert.ToChar(intNumber[j]).ToString();
            }
            else//判断字符ASCII值不在以上范围内
            {
                if (intNumber[j] > 122)//判断字符ASCII值是否大于z
                {
                    strAsciiName += Convert.ToChar(intNumber[j] - 10).ToString();
                }
                else
                {
                    strAsciiName += Convert.ToChar(intNumber[j] - 9).ToString();
                }
            }
        }
        return strAsciiName;

    }
    //点击后   发送方   事件参数
    private void button4_Click(object sender, EventArgs e)
    {
        textBox4.Text = getRNum();
    }
}

}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

namespace APP
{
partial class Form1
{
///


/// 必需的设计器变量。
///

private System.ComponentModel.IContainer components = null;

    /// 
    /// 清理所有正在使用的资源。
    /// 
    /// 如果应释放托管资源,为 true;否则为 false。
    protected override void Dispose(bool disposing)
    {
        if (disposing && (components != null))
        {
            components.Dispose();
        }
        base.Dispose(disposing);
    }

    #region Windows 窗体设计器生成的代码

    /// 
    /// 设计器支持所需的方法 - 不要修改
    /// 使用代码编辑器修改此方法的内容。
    /// 
    private void InitializeComponent()
    {
        this.button1 = new System.Windows.Forms.Button();
        this.textBox1 = new System.Windows.Forms.TextBox();
        this.button2 = new System.Windows.Forms.Button();
        this.textBox2 = new System.Windows.Forms.TextBox();
        this.button3 = new System.Windows.Forms.Button();
        this.textBox3 = new System.Windows.Forms.TextBox();
        this.button4 = new System.Windows.Forms.Button();
        this.textBox4 = new System.Windows.Forms.TextBox();
        this.SuspendLayout();
        // 
        // button1
        // 
        this.button1.Location = new System.Drawing.Point(393, 53);
        this.button1.Name = "button1";
        this.button1.Size = new System.Drawing.Size(75, 23);
        this.button1.TabIndex = 0;
        this.button1.Text = "硬盘编号";
        this.button1.UseVisualStyleBackColor = true;
        this.button1.Click += new System.EventHandler(this.button1_Click);
        // 
        // textBox1
        // 
        this.textBox1.Location = new System.Drawing.Point(50, 55);
        this.textBox1.Name = "textBox1";
        this.textBox1.Size = new System.Drawing.Size(269, 21);
        this.textBox1.TabIndex = 1;
        // 
        // button2
        // 
        this.button2.Location = new System.Drawing.Point(393, 117);
        this.button2.Name = "button2";
        this.button2.Size = new System.Drawing.Size(75, 23);
        this.button2.TabIndex = 2;
        this.button2.Text = "CPU序列号";
        this.button2.UseVisualStyleBackColor = true;
        this.button2.Click += new System.EventHandler(this.button2_Click);
        // 
        // textBox2
        // 
        this.textBox2.Location = new System.Drawing.Point(50, 117);
        this.textBox2.Name = "textBox2";
        this.textBox2.Size = new System.Drawing.Size(269, 21);
        this.textBox2.TabIndex = 3;
        // 
        // button3
        // 
        this.button3.Location = new System.Drawing.Point(393, 179);
        this.button3.Name = "button3";
        this.button3.Size = new System.Drawing.Size(75, 23);
        this.button3.TabIndex = 4;
        this.button3.Text = "生成机器码";
        this.button3.UseVisualStyleBackColor = true;
        this.button3.Click += new System.EventHandler(this.button3_Click);
        // 
        // textBox3
        // 
        this.textBox3.Location = new System.Drawing.Point(50, 179);
        this.textBox3.Name = "textBox3";
        this.textBox3.Size = new System.Drawing.Size(269, 21);
        this.textBox3.TabIndex = 5;
        // 
        // button4
        // 
        this.button4.Location = new System.Drawing.Point(393, 231);
        this.button4.Name = "button4";
        this.button4.Size = new System.Drawing.Size(75, 23);
        this.button4.TabIndex = 6;
        this.button4.Text = "生成注册码";
        this.button4.UseVisualStyleBackColor = true;
        this.button4.Click += new System.EventHandler(this.button4_Click);
        // 
        // textBox4
        // 
        this.textBox4.Location = new System.Drawing.Point(50, 233);
        this.textBox4.Name = "textBox4";
        this.textBox4.Size = new System.Drawing.Size(269, 21);
        this.textBox4.TabIndex = 7;
        // 
        // Form1
        // 
        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.ClientSize = new System.Drawing.Size(498, 291);
        this.Controls.Add(this.textBox4);
        this.Controls.Add(this.button4);
        this.Controls.Add(this.textBox3);
        this.Controls.Add(this.button3);
        this.Controls.Add(this.textBox2);
        this.Controls.Add(this.button2);
        this.Controls.Add(this.textBox1);
        this.Controls.Add(this.button1);
        this.Name = "Form1";
        this.Text = "注册码";
        this.ResumeLayout(false);
        this.PerformLayout();

    }

    #endregion

    private System.Windows.Forms.Button button1;
    private System.Windows.Forms.TextBox textBox1;
    private System.Windows.Forms.Button button2;
    private System.Windows.Forms.TextBox textBox2;
    private System.Windows.Forms.Button button3;
    private System.Windows.Forms.TextBox textBox3;
    private System.Windows.Forms.Button button4;
    private System.Windows.Forms.TextBox textBox4;
}

}

你可能感兴趣的:(Winforms注册码)