我写了个小程序 想让别人必须输入注册码才能使用

来源:百度知道 编辑:UC知道 时间:2024/09/23 12:29:02
我写了个小程序 想让别人必须输入注册码才能使用
目的是限制程序只能在一个机子上运行!
我听说有种可以读硬盘序列号,然后让他把序列号给我,我把序列号做到程序里,也就是只让这个程序在那个机子上运行,等于是做个比较,当程序里的序列号等于当前机子的硬盘序列号那么可以运行,否则弹出对话框,自动退出!!!

设计原理
利用API中的“GetVolumeInformation”函数提取使用者机器的硬盘序列号为特征码,注册时提交此码,经过软件著作权人加以运算,给出注册码,最后软件使用人输入注册码完成整个注册过程(为使说明简单,本例中以特征码减101做为注册码)。

新建一模块文件
新建一模块文件,并将如下声明的语句和常量添加到Module1.Bas模块中:

Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA"

(ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal

nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As

Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal

nFileSystemNameSize As Long) As Long

Global GetVal As Long

编程时需注意的是要将声明语句写在同一行中。

窗体设置
在Form1上添加2个文本框,Name属性分别设置为Text1、Text2;再添加1个按钮,Name属性设置为Command1。

添加代码
将如下程序代码添加到Form1的Form1_Load事件中:

Private Sub Form_Load()

Dim TempStr1 As String * 256

Dim TempStr2 As String * 256