基于VB下的共享软件注册技术

2023-02-24

多数读者对于“共享软件”和“注册码”都一定不会陌生, 共享软件通常是功能不完整或者有试用时间、次数限制的版本软件。读者可以通过互联网免费下载、购买计算机设备附增、光盘 (软盘) 附代等多种方式获得, 使用满意后再向软件作者或机构缴纳一定的费用, 获取该软件的“注册码”, 并进行注册后, 共享软件的使用者才能得到该软件的完整功能或者没有限制的正版软件。这种“先使用后付费”的共享软件, 对保障软件开发者、使用者的合法权益, 起到了一定的积极作用。

购买过共享软件的读者都知道, 共享软件成功注册后, 无需再次下载, 软件的限制自动取消、功能自然齐全, 而且以后升级、版本更新时, 也不用再次注册。共享软件的注册技术似乎很神秘, 其方法在报刊、杂志和专业书籍上也少有介绍, 并鲜为人知。电脑爱好者能否将自己开发的应用软件做成共享软件呢?实现共享软件注册的技术和方法很多, 这里我们将在Visual Basic下, 向大家介绍一种简单易学且行之有效的共享软件注册技术, 为您揭开共享软件注册技术的神秘面纱, 帮大家将自己开发的软件, 制作成共享软件。该方法的实用性、可操作性强, 非常适合广大的电脑爱好者学习和掌握。

设计原理和思想。

1软件注册与否的判断和认证

我们可以通过设置错误陷阱, 在软件每次运行载入 (即执行Form_load) 时, 检查系统中是否存在用于判断“注册”与否的一个“文件”, 我们称其为“注册文件”。只有当用户获得这个软件的“注册码”, 并且正确地进行“注册”以后, 该软件才能在系统的某个目录下, 自动产生 (创建) 这个“注册文件”。

由于我们是通过检查“注册文件”是否存在, 来作为判断共享软件是否注册的认证手段, 因此, 我们只看重这个文件的“名”, 给“注册文件”起个什么“名”, 放在哪个目录下, 就看你的想象力和创造力了。Windows系统庞大, 目录和文件繁多, 在其中“隐藏”一个文件, 使其不易被人察觉, 对于广大的电脑爱好者来说, 可谓小事一桩。

2注册码的设置

我们可以通过在程序的“注册部分”设置一个条件判断语句, 以比较用户输入的字符串变量和我们预先在程序中内置的一串字符 (也就是“注册码”) 为条件, 而在条件语句中嵌入创建注册文件和开放软件中屏蔽的某些功能、关闭注册按钮的命令。用户在注册时, 只有输入的字符串与“注册码”相同时, 才执行条件语句中的这些命令, 同时关闭注册按钮。

3自动弹出提示软件未注册菜单

有些共享软件, 在未注册时, 会每隔一定的时间就自动弹出一个提示菜单来提醒用户。在Visual Basic中, 要做到这一点也很容易, 我们可以在程序中添加一个计时器timer控件, 通过它的Interval属性来实现提示菜单的自动弹出。

4共享软件功能的屏蔽与开放

软件功能的屏蔽与开放, 我们可以通过设置Visual Basic中相应控件的Enabled和Visible属性, 并与条件判断语句相结合来实现。

5共享软件的机器码

有些共享软件为了防止在两台以上的计算机中安装, 在用户索取共享软件的注册码时, 还需要向软件的作者提供该软件在相应计算机上安装时所产生的机器码。机器码的产生, 我们可以通过Visual Basic调用Windows API函数来实现。而从软件试用者那里反馈回来的机器码, 我们可以通过特定的运算, 得出相应的“注册码”, 再将其交给用户进行软件注册。注意:这时的软件注册码一般不能预先内置。

6限制共享软件的使用次数

如果是限制使用次数的共享软件, 可以在软件程序载入时, 再设置一个错误陷阱, 判断系统中是否存在一个“计数文件”。如果不存在, 就创建所需的计数文件 (加密与否, 放在哪里, 你就自己定吧。什么?不会加密?起名时将它的后缀用三个怪怪的字母就行) , 并在其中设置一个常数 (如30) , 做为软件最大的使用次数, 然后再通过设置递减运算、数值存取和条件判断等, 来限制共享软件的使用次数, 即一旦这个常数为图零, 就屏蔽软件的所有功能。

共享软件机器码的生成和使用, 以及共享软件限制使用次数的方法, 限于篇幅, 我们在此不去过多的讨论。对此感兴趣的读者, 可以到我们的网站 (http://www.ljlp.com) 下载并学习更多的共享软件开发技巧, 或和我们联系。E_mail:help@ljlp.com。

下面我们想通过一个实例, 为大家详细介绍共享软件的注册技术:

这个程序是我们按照共享软件的一般特点编写的:该软件在没有注册时, 每次运行均有提示 (如图1) , 并且它的功能也是不完整的, 此时只有“应用一”可供用户使用 (如图2) ;而且软件每次运行和运行后每隔一定的时间, 就会弹出一个提示菜单 (如图3) , 提醒用户这个软件没有注册, 用户可以通过点击“确定”按钮, 进入或继续使用这个软件。

用户在没有获得注册码, 而通过软件上的“注册”按钮注册时, 软件将提示用户“注册失败” (如图4) 。只有当用户获得了该软件的注册码, 并进行注册 (如图5) 后, 软件会提示用户注册成功 (如图6) 。注册后, “应用二”有效, 软件的“注册”按钮失效 (如图7) , 每隔一定时间弹出的提示菜单也不再出现, 以后在运行这个软件, 也不再有提示菜单;并且注册用户不会因软件的升级或软件作者改变注册码, 而需要重新注册 (只要注册判断用的“注册文件”不改变目录或文件名) 。但如果将该软件 (既使已经成功注册) 拷贝到其他机器上, 也将重新要求用户注册。

这里为了方便起见, 我们将注册文件放在c:windows目录下, 文件名分别是:zcfile.dat。

首先, 新建一个工程, 在窗体中添加两个命令按钮 (CommandButton) 、两个单选按钮 (OptionButton) 、一个定时器控件 (Timer) , 为了美观我们再添加两个框架控件 (Frame) 。 (如图8)

其次, 设置各控件的属性:

command1.Caption="注册"

command2.Caption="退出"

Option1.Caption="应用一"

Option2.Caption="应用二"

Frame1.Caption="VB下的简易注册技术"

Frame2.Caption="应用选择"

Form1.Caption="注册技术"

Timer1.Interval=600'初始间隔时间

下面就是程序部分:

以上程序在Windows98/2000/XP/Vista/win7下, VB6.0中运行通过。

摘要:本文着重介绍基于Microsoft Visual Basic下的共享软件注册技术中的注册认证、功能屏蔽与开放、软件使用次数限制、注册码设置、机器码设置等的设计原理和实现方法。

关键词:VB,共享软件,注册技术,设计原理,注册码,机器码,认证,限制

上一篇:浅谈MG动画对高职视觉传达设计课程教学改革的意义下一篇:大气颗粒物PM2.5中重金属的检测技术