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();
}
// 取得設(shè)備硬盤的卷標(biāo)號
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()//給數(shù)組賦值小于10的數(shù)
    {
        for (int i = 1; i < intCode.Length; i++)
        {
            intCode[i] = i % 9;
        }
    }
    //生成注冊碼    
    public static string getRNum()
    {
        setIntCode();//初始化127位數(shù)組
        for (int i = 1; i < Charcode.Length; i++)//把機器碼存入數(shù)組中
        {
            Charcode[i] = Convert.ToChar(getMNum().Substring(i - 1, 1));
        }
        for (int j = 1; j < intNumber.Length; j++)//把字符的ASCII值存入一個整數(shù)組中犁功。
        {
            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值不在以上范圍內(nèi)
            {
                if (intNumber[j] > 122)//判斷字符ASCII值是否大于z
                {
                    strAsciiName += Convert.ToChar(intNumber[j] - 10).ToString();
                }
                else
                {
                    strAsciiName += Convert.ToChar(intNumber[j] - 9).ToString();
                }
            }
        }
        return strAsciiName;

    }
    //點擊后   發(fā)送方   事件參數(shù)
    private void button4_Click(object sender, EventArgs e)
    {
        textBox4.Text = getRNum();
    }
}

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

namespace APP
{
partial class Form1
{
/// <summary>
/// 必需的設(shè)計器變量批销。
/// </summary>
private System.ComponentModel.IContainer components = null;

    /// <summary>
    /// 清理所有正在使用的資源励饵。
    /// </summary>
    /// <param name="disposing">如果應(yīng)釋放托管資源叨粘,為 true;否則為 false怕敬。</param>
    protected override void Dispose(bool disposing)
    {
        if (disposing && (components != null))
        {
            components.Dispose();
        }
        base.Dispose(disposing);
    }

    #region Windows 窗體設(shè)計器生成的代碼

    /// <summary>
    /// 設(shè)計器支持所需的方法 - 不要修改
    /// 使用代碼編輯器修改此方法的內(nèi)容。
    /// </summary>
    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;
}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市柬唯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌圃庭,老刑警劉巖锄奢,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異剧腻,居然都是意外死亡拘央,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門书在,熙熙樓的掌柜王于貴愁眉苦臉地迎上來灰伟,“玉大人,你說我怎么就攤上這事儒旬±刚耍” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵义矛,是天一觀的道長发笔。 經(jīng)常有香客問我,道長凉翻,這世上最難降的妖魔是什么了讨? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮制轰,結(jié)果婚禮上见妒,老公的妹妹穿的比我還像新娘得封。我一直安慰自己疾捍,他們只是感情好找前,可當(dāng)我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著调俘,像睡著了一般伶棒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上彩库,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天肤无,我揣著相機與錄音,去河邊找鬼骇钦。 笑死宛渐,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播窥翩,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼业岁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了寇蚊?” 一聲冷哼從身側(cè)響起笔时,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎幔荒,沒想到半個月后糊闽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體梳玫,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡爹梁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了提澎。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片姚垃。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖盼忌,靈堂內(nèi)的尸體忽然破棺而出积糯,到底是詐尸還是另有隱情,我是刑警寧澤谦纱,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布看成,位于F島的核電站,受9級特大地震影響跨嘉,放射性物質(zhì)發(fā)生泄漏川慌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一祠乃、第九天 我趴在偏房一處隱蔽的房頂上張望梦重。 院中可真熱鬧,春花似錦亮瓷、人聲如沸琴拧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蚓胸。三九已至,卻和暖如春除师,著一層夾襖步出監(jiān)牢的瞬間沛膳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工馍盟, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留于置,地道東北人。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像八毯,于是被迫代替她去往敵國和親搓侄。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內(nèi)容