亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

C# 給自己寫的軟件,加注冊碼功能。

系統 2740 0
      
        
            為自己寫的程序加一個注冊功能吧。生成的機器號是根據CPU和硬盤號來的,根據自己的需求改成是否是隨機生成。
        
        

  代碼直接粘貼到新建類覆蓋原代碼就能直接用了。


      
        using
      
      
         System;


      
      
        using
      
      
         System.Management;


      
      
        using
      
      
         System.Security.Cryptography;


      
      
        using
      
      
         System.Text;




      
      
        namespace
      
      
         RegisterClass

{

    
      
      
        class
      
      
         RegisterClass

    {

        
      
      
        //
      
      
        步驟一: 獲得CUP序列號和硬盤序列號的實現代碼如下:

        
      
      
        //
      
      
        獲得CPU的序列號
      
      
        bool
      
       Stupids = 
      
        true
      
      
        ;

        
      
      
        bool
      
       Cat = 
      
        false
      
      
        ;

       
      
      
        public
      
      
        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
      
      
        string
      
      
         GetDiskVolumeSerialNumber()

        {

            ManagementClass mc 
      
      = 

                 
      
        new
      
       ManagementClass(
      
        "
      
      
        Win32_NetworkAdapterConfiguration
      
      
        "
      
      
        );

            ManagementObject disk 
      
      = 

                 
      
        new
      
       ManagementObject(
      
        "
      
      
        win32_logicaldisk.deviceid=\"c:\"
      
      
        "
      
      
        );

            disk.Get();

            
      
      
        return
      
       disk.GetPropertyValue(
      
        "
      
      
        VolumeSerialNumber
      
      
        "
      
      
        ).ToString();

        }

 

 

        
      
      
        //
      
      
        步驟二: 收集硬件信息生成機器碼, 代碼如下: 

        
      
      
        //
      
      
        生成機器碼
      
      
        public
      
      
        string
      
      
         CreateCode()

        {

            
      
      
        string
      
       temp = getCpu() + GetDiskVolumeSerialNumber();
      
        //
      
      
        獲得24位Cpu和硬盤序列號
      
      
        string
      
      [] strid = 
      
        new
      
      
        string
      
      [
      
        24
      
      ];
      
        //


      
      
        for
      
       (
      
        int
      
       i = 
      
        0
      
      ; i < 
      
        24
      
      ; i++)
      
        //
      
      
        把字符賦給數組
      
      
                    {

                strid[i] 
      
      = temp.Substring(i, 
      
        1
      
      
        );

            }

            temp 
      
      = 
      
        ""
      
      
        ;

            
      
      
        //
      
      
        Random rdid = new Random();
      
      
        for
      
       (
      
        int
      
       i = 
      
        0
      
      ; i < 
      
        24
      
      ; i++)
      
        //
      
      
        從數組隨機抽取24個字符組成新的字符生成機器三
      
      
                    {

                
      
      
        //
      
      
        temp += strid[rdid.Next(0, 24)];
      
      

                temp += strid[i+
      
        3
      
      >=
      
        24
      
      ?
      
        0
      
      :i+
      
        3
      
      
        ];

            }

            
      
      
        return
      
      
         GetMd5(temp);

        }



        
      
      
        //
      
      
        步驟三: 使用機器碼生成軟件注冊碼, 代碼如下:

        
      
      
        //
      
      
        使用機器碼生成注冊碼
      
      
        public
      
      
        int
      
      [] intCode = 
      
        new
      
      
        int
      
      [
      
        127
      
      ];
      
        //
      
      
        用于存密鑰
      
      
        public
      
      
        void
      
       setIntCode()
      
        //
      
      
        給數組賦值個小于10的隨機數
      
      
                {

            
      
      
        //
      
      
        Random ra = new Random();

            
      
      
        //
      
      
        for (int i = 1; i < intCode.Length;i++ )

            
      
      
        //
      
      
        {

            
      
      
        //
      
      
            intCode[i] = ra.Next(0, 9);

            
      
      
        //
      
      
        }
      
      
        for
      
       (
      
        int
      
       i = 
      
        1
      
      ; i < intCode.Length; i++
      
        )

            {

                intCode[i] 
      
      = i + 
      
        3
      
       > 
      
        9
      
       ? 
      
        0
      
       : i + 
      
        3
      
      
        ;

            }

        }

        
      
      
        public
      
      
        int
      
      [] intNumber = 
      
        new
      
      
        int
      
      [
      
        25
      
      ];
      
        //
      
      
        用于存機器碼的Ascii值
      
      
        public
      
      
        char
      
      [] Charcode = 
      
        new
      
      
        char
      
      [
      
        25
      
      ];
      
        //
      
      
        存儲機器碼字

    

        
      
      
        //
      
      
        生成注冊碼
      
      
        public
      
      
        string
      
       GetCode(
      
        string
      
      
         code)

        {

            
      
      
        if
      
       (code != 
      
        ""
      
      
        )

            {

                
      
      
        //
      
      
        把機器碼存入數組中
      
      

                setIntCode();
      
        //
      
      
        初始化127位數組
      
      
        for
      
       (
      
        int
      
       i = 
      
        1
      
      ; i < Charcode.Length; i++)
      
        //
      
      
        把機器碼存入數組中
      
      
                        {

                    Charcode[i] 
      
      = Convert.ToChar(code.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 = 
      
        null
      
      ;
      
        //
      
      
        用于存儲機器碼
      
      
        for
      
       (
      
        int
      
       j = 
      
        1
      
      ; j < intNumber.Length; j++
      
        )

                {

                    
      
      
        //
      
      
        MessageBox.Show((Convert.ToChar(intNumber[j])).ToString());

                    
      
      
        //
      
      
        判斷字符ASCII值是否0-9之間
      
      
        if
      
       (intNumber[j] >= 
      
        48
      
       && intNumber[j] <= 
      
        57
      
      
        )

                    {

                        strAsciiName 
      
      +=
      
         Convert.ToChar(intNumber[j]).ToString();

                    }

                    
      
      
        //
      
      
        判斷字符ASCII值是否A-Z之間
      
      
        else
      
      
        if
      
       (intNumber[j] >= 
      
        65
      
       && intNumber[j] <= 
      
        90
      
      
        )

                    {

                        strAsciiName 
      
      +=
      
         Convert.ToChar(intNumber[j]).ToString();

                    }

                    
      
      
        //
      
      
        判斷字符ASCII值是否a-z之間
      
      
        else
      
      
        if
      
       (intNumber[j] >= 
      
        97
      
       && intNumber[j] <= 
      
        122
      
      
        )                    

                  {

                        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();

                        }



                    }

                    
      
      
        //
      
      
        label3.Text = strAsciiName;
      
      
        //
      
      
        得到注冊碼
      
      
                        }

                
      
      
        return
      
      
         strAsciiName;

            }

            
      
      
        else
      
      
        

            {

                
      
      
        return
      
      
        ""
      
      
        ;

            }

        }

 

 

        
      
      
        //
      
      
        步驟四: 用戶輸入注冊碼注冊軟件, 演示代碼如下:



        
      
      
        //
      
      
        注冊
      
      
        public
      
      
        bool
      
       RegistIt(
      
        string
      
       currentCode,
      
        string
      
      
         realCode)

        {

            
      
      
        if
      
       (realCode != 
      
        ""
      
      
        )

            {

                
      
      
        if
      
      
         (currentCode.TrimEnd().Equals(realCode.TrimEnd()))

                {

                    Microsoft.Win32.RegistryKey retkey 
      
      =
      
         

                         Microsoft.Win32.Registry.CurrentUser.

                         OpenSubKey(
      
      
        "
      
      
        software
      
      
        "
      
      , 
      
        true
      
      ).CreateSubKey(
      
        "
      
      
        StupidsCat
      
      
        "
      
      
        ).

                         CreateSubKey(
      
      
        "
      
      
        StupidsCat.ini
      
      
        "
      
      
        ).

                         CreateSubKey(currentCode.TrimEnd());

                    retkey.SetValue(
      
      
        "
      
      
        StupidsCat
      
      
        "
      
      , 
      
        "
      
      
        BBC6D58D0953F027760A046D58D52786
      
      
        "
      
      
        );



                    retkey 
      
      =
      
         Microsoft.Win32.Registry.LocalMachine.

                        OpenSubKey(
      
      
        "
      
      
        software
      
      
        "
      
      , 
      
        true
      
      ).CreateSubKey(
      
        "
      
      
        StupidsCat
      
      
        "
      
      
        ).

                         CreateSubKey(
      
      
        "
      
      
        StupidsCat.ini
      
      
        "
      
      
        ).

                         CreateSubKey(currentCode.TrimEnd());

                    retkey.SetValue(
      
      
        "
      
      
        StupidsCat
      
      
        "
      
      , 
      
        "
      
      
        BBC6D58D0953F027760A046D58D52786
      
      
        "
      
      
        );



                    
      
      
        return
      
      
         Stupids;

                }

                
      
      
        else
      
      
        

                {

                    
      
      
        return
      
      
         Cat;

                }

            }

            
      
      
        else
      
       { 
      
        return
      
      
         Cat; }

        }



        
      
      
        public
      
      
        bool
      
       BoolRegist(
      
        string
      
      
         sn)

        {

            
      
      
        string
      
      [] keynames; 
      
        bool
      
       flag = 
      
        false
      
      
        ;

            Microsoft.Win32.RegistryKey localRegKey 
      
      =
      
         Microsoft.Win32.Registry.LocalMachine;

            Microsoft.Win32.RegistryKey userRegKey 
      
      =
      
         Microsoft.Win32.Registry.CurrentUser;

            
      
      
        try
      
      
        

            {

                keynames 
      
      = localRegKey.OpenSubKey(
      
        "
      
      
        software\\StupidsCat\\StupidsCat.ini\\
      
      
        "
      
       +
      
         GetMd5(sn)).GetValueNames();

                
      
      
        foreach
      
       (
      
        string
      
       name 
      
        in
      
      
         keynames)

                {

                    
      
      
        if
      
       (name == 
      
        "
      
      
        StupidsCat
      
      
        "
      
      
        )

                    {

                        
      
      
        if
      
       (localRegKey.OpenSubKey(
      
        "
      
      
        software\\StupidsCat\\StupidsCat.ini\\
      
      
        "
      
       + GetMd5(sn)).GetValue(
      
        "
      
      
        StupidsCat
      
      
        "
      
      ).ToString() == 
      
        "
      
      
        BBC6D58D0953F027760A046D58D52786
      
      
        "
      
      
        )

                            flag 
      
      = 
      
        true
      
      
        ; 

                    }

                }

                keynames 
      
      = userRegKey.OpenSubKey(
      
        "
      
      
        software\\StupidsCat\\StupidsCat.ini\\
      
      
        "
      
       +
      
         GetMd5(sn)).GetValueNames();

                
      
      
        foreach
      
       (
      
        string
      
       name 
      
        in
      
      
         keynames)

                {

                    
      
      
        if
      
       (name == 
      
        "
      
      
        StupidsCat
      
      
        "
      
      
        )

                    {

                        
      
      
        if
      
       (flag && userRegKey.OpenSubKey(
      
        "
      
      
        software\\StupidsCat\\StupidsCat.ini\\
      
      
        "
      
       + GetMd5(sn)).GetValue(
      
        "
      
      
        StupidsCat
      
      
        "
      
      ).ToString() == 
      
        "
      
      
        BBC6D58D0953F027760A046D58D52786
      
      
        "
      
      
        )

                            
      
      
        return
      
      
        true
      
      
        ;

                    }

                }

                
      
      
        return
      
      
        false
      
      
        ;

            }

            
      
      
        catch
      
      
        

            {

                
      
      
        return
      
      
        false
      
      
        ;

            }

            
      
      
        finally
      
      
         

            { 

                localRegKey.Close(); 

                userRegKey.Close(); 

            }

        }



        
      
      
        public
      
      
        string
      
       GetMd5(
      
        object
      
      
         text)

        {

            
      
      
        string
      
       path =
      
         text.ToString();



            MD5CryptoServiceProvider MD5Pro 
      
      = 
      
        new
      
      
         MD5CryptoServiceProvider();

            Byte[] buffer 
      
      = Encoding.GetEncoding(
      
        "
      
      
        utf-8
      
      
        "
      
      
        ).GetBytes(text.ToString());

            Byte[] byteResult 
      
      =
      
         MD5Pro.ComputeHash(buffer);



            
      
      
        string
      
       md5result = BitConverter.ToString(byteResult).Replace(
      
        "
      
      
        -
      
      
        "
      
      , 
      
        ""
      
      
        );

            
      
      
        return
      
      
         md5result;

        }

    }

}
      
    

C# 給自己寫的軟件,加注冊碼功能。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 色香蕉在线 | 婷婷免费高清视频在线观看 | 国内精品久久久久鸭 | 久久性精品 | 天天操操 | 二性视频 | 成年人的毛片 | 欧美真人视频一级毛片 | 91模特| 免费一级毛片在级播放 | 成人欧美午夜视频毛片 | 伊人色综合网 | 伊人久久网国产伊人 | 亚洲最大的成人网 | 国产午夜精品久久久久免费视 | 老扒夜夜春宵粗大好爽aa毛片 | 国产精品久久久久久久久久98 | 福利资源在线 | 亚洲小视频在线 | 国产成人免费在线 | 国内精品久久久久丫网址 | 欧美成人aaa大片 | 中文字幕 日韩在线 | 免费国产a | 热思思久久 | 亚洲精品123区在线观看 | 精品在线小视频 | 成人精品第一区二区三区 | 91中文字幕yellow字幕网 | 亚洲综合国产一区在线 | 天天色天天拍 | 日本亚洲黄色 | 亚洲一区二区在线成人 | 日韩视频区 | www.黄色免费 | 欧美激情中文字幕一区二区 | 性做久久久久久久久25的美女 | 国产一区二区精品在线观看 | 大尺度福利视频在线观看网址 | 一级一级一级毛片免费毛片 | 波多野结衣日韩 |