.net(c#) 简单的软件注册功能的实现

主要思路:获取机器的CPU序列号,得到机器码。通过对机器码进行MD5运算之后得到注册码。将注册码写进注册表或系统目录。
//1.在程序的入口处(winform)检测注册文件是否存在,如果不存在
//则提示用户注册文件损坏或者用户未注册,如果注册文件存在,则读取文件内容,判断注册码是否正确。
//在程序的入口函数所在的文件要引用 using System.IO;来进行文件操作。
 


  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Windows.Forms;  
  4. using System.IO;  
  5. namespace LoginWindowTest  
  6. {  
  7.     static class Program  
  8.     {  
  9.         /// <summary>  
  10.         /// 应用程序的主入口点。  
  11.         /// </summary>  
  12.         [STAThread]  
  13.         static void Main()  
  14.         {  
  15.             String sysFolder = System.Environment.SystemDirectory;//获取系统安装目录如:c:\windows\system32  
  16.             Reg rg=new Reg();//此类里有几个函数(获取CPU序列号,对字符串进行MD5运算等)  
  17.             Application.EnableVisualStyles();  
  18.             Application.SetCompatibleTextRenderingDefault(false);  
  19.             if (!File.Exists(sysFolder + "file://sixi.ini/"))  
  20.             {  
  21.                 //如果注册文件不存在。注册失败  
  22.                 //创建注册文件  
  23.                 File.Create(sysFolder + "file://sixi.ini/");  
  24.                 MessageBox.Show("请注册!");  
  25.                 Application.Run(new RegForm());//进入注册界面。  
  26.             }  
  27.             else 
  28.             {//如果注册文件存在,读取文件内容跟密码比较  
  29.                 byte[] arry=new byte [32];  
  30.                 string str = "";  
  31.                 FileInfo fi = new FileInfo(sysFolder + "file://sixi.ini/");  
  32.                 FileStream fs = fi.OpenRead();  
  33.                 int i=fs.Read(arry, 0, 32);  
  34.                 fs.Close();  
  35.                 str = System.Text.Encoding.ASCII.GetString(arry);  
  36.                 if (str == rg.getMd5(rg.GetCpuID()).Trim())//如果注册文件里的字符串和经过MD5运算过的注册码相同,则注册成功  
  37.                 {  
  38.                     MessageBox.Show("软件已经成功注册!");  
  39.                        Application.Run(new MainForm());//进入软件主界面  
  40.                 }  
  41.                 else 
  42.                 {  
  43.                     MessageBox.Show("请注册软件!");  
  44.                        Application.Run(new RegForm());//进入注册界面。  
  45.                 }  
  46.             }  
  47.         }  
  48.     }  
  49. }  

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索注册界面
, 文件
, application
, using
, 注册
, system
, 界面软件c#
注册码
.net c#、.net、.net core、httputility、c .net教程,以便于您获取更多的相关知识。

时间: 2024-08-30 03:13:54

.net(c#) 简单的软件注册功能的实现的相关文章

Winform 注册机通用软件注册功能之建立有效的软件保护机制

本文转载:http://www.cnblogs.com/umplatform/archive/2013/01/23/2873001.html  众所周知,一些共享软件往往提供给使用者的是一个功能不受限制的限时使用版,在试用期内使用者可以无限制的使用软件的全部功能(只是可能会出现提示使用者 注册的窗口),试用期一过部分(或全部)功能失效,要想继续使用只能向作者索取注册码(或注册文件)完成对软件的合法注册,注册后的软件将解除一切使用限 制.如果您也开发出一个有价值的作品,是否也希望为自己的软件增加一

Android实现简单的账号注册功能时JSON报错?

问题描述 Android实现简单的账号注册功能时JSON报错? 最近在做一个对接融云的聊天界面,在实现注册功能时报错.具体如下: 通过Android客户端注册账号,服务器和数据库用Apache+php+Mysql+phpmyadmin. Android主要代码 final String username = et_username.getText().toString(); String password = et_password.getText().toString(); if (usern

基于python脚本实现软件的注册功能(机器码+注册码机制)_python

一.前言: 目的:完成已有python图像处理工具的注册功能 功能:用户运行程序后,通过文件自动检测认证状态,如果未经认证,就需要注册.注册过程是用户将程序运行后显示的机器码(C盘的卷序号)发回给管理员,管理员对机器码加密后生成加密文件或字符串返回给用户.每次启动程序,在有注册文件的情况下,程序就会通过DES和base64解码,并与此刻获取到的C盘卷序列号比对,如果一致则运行主程序.如果注册文件解码后与卷序号不一致,就要提醒用户输入注册码,如果对新输入的解码后和重新获取的机器码一致,则通过认证,

在Windows应用程序中实现电子注册功能

目前,国内软件销售过程中采用了一种新的方式:开发者根据计算机中不同的硬件配置标志直接在应用程序中设置密钥,限制程序的使用次数或者限制某些先进功能的使用,然后将受限制的应用程序无偿提供给用户.用户在试用一段时间之后如果觉得很满意,就可以将安装程序提取的硬件配置解密密钥或已经采集机器配置情况的应用程序提供给开发者,并花少量费用购买自己机器中的电子注册密钥,从而能够充分利用应用程序的所有功能. 在应用程序中利用电子注册来限制应用程序的部分功能,这样既可以让用户先试用然后再决定是否购买应用程序,又保护了

交互设计实例:基本的注册功能如何设计

前几天光耀童鞋喷了一篇<谈网站注册.登录过程>,今天我们在与小爬童鞋梳理购买流程的时候也谈到了这部分内容.其实注册作为一个网站基本功能再普通不过,但提供不同产品服务的网站对于注册的要求不尽相同,也不是每个网站都有一个体验良好的注册流程.本座在这里简单聊下在不考虑运营指标和商业目的的前提下,基本的注册功能如何设计. 注册页面的信息架构注册页面的信息架构力求清晰简洁,注册表单作为信息主体,除了logo,帮助信息以及一些必要的返回链接,避免其他一切会干扰注册的信息,全力保障用户专心走完注册流程. 注

ASP实现简单的网页保护功能

网页 ASP实现简单的网页保护功能 (转)     说到安全,大家肯定会不由自主地想起类似防火墙之类的专业安全保障软件,难到非要有软件才能达到安全防范的目的吗?不,这里我们使用ASP,同样也能实现简单地防范网页安全的功能.下面笔者就举例来说明如何实现一个简单的页面安全防范功能,此页面只允许本单位内部网的用户访问,如果是单位外部用户进行访问则要求输入访问密码. 在此主要使用request对象的ServerVariables属性,通过它来获得环境变量的值.使   用的语法为:Request.Serv

从企业管理软件的功能分类谈软件开发的任务

从事软件开发这一职业,首先要准确定位研究方向,如架构师.分析师.设计师等,其技术方向和要求各有不同.本文定位于企业管理软件的开发,属于业务处理(或称事务处理)软件的范围,以完成整个产品为目标,具体分做为软件开发人员都要具有哪些知道和技能,不管你是一个人或一个团队,所面对的问题是相同的,也就是说假定所有问题你一个人都可以解决,那可能你可以成为团队的负责人或是一个人就可以完成整个项目,反过来说,这些任务当中有一项或以上不能完成,那所有其他已经做了的工作等于复位为零. 企业管理软件产品或工程的开发任务

vs2012-visual sudio 2012 软件注册编写

问题描述 visual sudio 2012 软件注册编写 请教下大家:如果在vs 2012编写软件注册界面呢?初学者,向大家学习! 解决方案 VS2012是一个开发工具,它可以使用C++ C# VB Python F#等很多种语言,先搞清楚你用的是什么语言 然后用所用的语言 + 注册 作为关键字,自己google下就有答案 解决方案二: 我在用VS2010 写注册页面 基本功能做的类似QQ 解决方案三: 1.自动重绘控件,进行贴图2.用第三方皮肤库3.用qt来做 解决方案四: 就是4个edit

a-如何使用编辑软件的功能提取EXCEL数据

问题描述 如何使用编辑软件的功能提取EXCEL数据 EXCEL表格中有大量数据,如何使用编辑软件的功能提取EXCEL数据呢? 解决方案 提取成什么样? 另存为CSV? 解决方案二: 想读取xls数据有些障碍,一是版本问题,二是因为闭源,所以你需要分析出来具体的文件结构,这个是微软定义的一套格式东西,不太容易. 两种选择: 1 阅读openoffice解析EXCEL文件的源代码,这里有文档:http://sc.openoffice.org/excelfileformat.pdf (在读写OFFIC