C#程序注册激活代码

C#程序注册激活代码

ID:40749814

大小:149.50 KB

页数:19页

时间:2019-08-07

C#程序注册激活代码_第1页
C#程序注册激活代码_第2页
C#程序注册激活代码_第3页
C#程序注册激活代码_第4页
C#程序注册激活代码_第5页
资源描述:

《C#程序注册激活代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实例说明为了使软件能被更广泛的推广,开发商希望能有更多的用户使用软件,但他们又不想让用户长时间免费使用未经授权的软件,这时就可以推出试用版软件,限制用户的使用次数,当用户感觉使用方便的话,可以花钱获取注册码,以获取其正式版软件。本实例使用C#实现了限制软件使用次数功能,运行本实例,如果程序未注册,则提示用户已经使用过几次,如图1所示,然后进入程序主窗体,单击主窗体中的“注册”按钮,弹出如图2所示的软件注册窗体,该窗体中自动获取机器码,用户输入正确的注册码之后,单击“注册”按钮,即可成功注册程序,注册之后的程序将不再提示软件试用次数。图1使用次数提示图2软件注册注册码

2、可由光盘中程序文件夹下提供的注册机程序得到。设计思路限制软件的使用次数时,首先需要判断软件是否已经注册,如果已经注册,则用户可以任意使用软件。如果软件未注册,则判断软件是否初次使用,如果是初次使用,则在系统注册表中新建一个子项,用来存储软件的使用次数,并且设置初始值为1;如果不是初次使用,则从存储软件使用次数的注册表项中获取已经使用的次数,然后将获取的使用次数加一,作为新的软件使用次数,存储到注册表中。技术要点本实例获取软件使用次数时用到Registry类的GetValue方法,向注册表中写入软件使用次数时用到Registry类的SetValue方法。另外,在对软件

3、进行注册时,需要根据硬盘序列号和CPU序列号生成机器码和注册码,此时用到WMI管理对象中的ManagementClass类、ManagementObject类和ManagementObjectCollection类,下面对本实例中用到的关键技术进行详细讲解。(1)Registry类的GetValue方法Registry类提供表示Windows注册表中的根项的RegistryKey对象,并提供访问项/值对的静态方法,其GetValue方法用来检索与指定的注册表项中的指定名称关联的值,如果在指定的项中未找到该名称,则返回提供的默认值;如果指定的项不存在,则返回null。

4、GetValue方法语法格式如下:publicstaticObjectGetValue(stringkeyName,stringvalueName,ObjectdefaultValue)?keyName:以有效注册表根(如“HKEY_CURRENT_USER”)开头键的完整注册表路径。?valueName:名称/值对的名称。?defaultValue:当name不存在时返回的值。?返回值:如果由keyName指定的子项不存在,则返回null;否则,返回与valueName关联的值;或者,如果未找到valueName,则返回defaultValue。例如,下面代码用来

5、获取软件的使用次数:tLong=(Int32)Registry.GetValue("HKEY_LOCAL_MACHINE/SOFTWARE/tryTimes","UseTimes",0);Registry类位于Microsoft.Win32命名空间下。(2)Registry类的SetValue方法Registry类的SetValue方法用来设置注册表项中的名称/值对的值,该方法为可重载方法,它有两种重载形式,第一种重载形式语法格式如下:publicstaticvoidSetValue(stringkeyName,stringvalueName,Objectvalue

6、)?keyName:以有效注册表根(如“HKEY_CURRENT_USER”)开头键的完整注册表路径。?valueName:名称/值对的名称。?value:要存储的值。第二种重载形式语法格式如下:publicstaticvoidSetValue(stringkeyName,stringvalueName,Objectvalue,RegistryValueKindvalueKind)?keyName:以有效注册表根(如“HKEY_CURRENT_USER”)开头键的完整注册表路径。?valueName:名称/值对的名称。?value:要存储的值。?valueKind:

7、存储数据时使用的注册表数据类型。例如,本实例中将软件使用次数写入注册表的实现代码如下:if(tLong<30){intTimes=tLong+1;Registry.SetValue("HKEY_LOCAL_MACHINE/SOFTWARE/tryTimes","UseTimes",Times);}(3)ManagementClass类ManagementClass类表示公共信息模型(CIM)管理类。管理类是一个WMI类,如Win32_LogicalDisk类和Win32_Process类,前者表示磁盘驱动器,后者表示进程(如Notepad.exe)。通过该类的成

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。