投射作用:请问在VB编程时如何实现要软件使用者输入注册码才能使用软件这个功能? -- 编程爱好者论坛...

来源:百度文库 编辑:偶看新闻 时间:2024/04/26 16:04:29
请问在VB编程时如何实现要软件使用者输入注册码才能使用软件这个功能? 我是一个刚学的新手,请问在VB编程时如何实现要软件使用者输入注册码才能使用软件?也就是现在大部分共享软件的特点,使用一段时间或次数后,要求输入注册码,否则不能继续使用.请问如何实现这个功能?  回复人:eshen 回复时间:2002-6-8 14:02:00 每个人的电脑硬盘的系列号是不一样的。让你的程序返回申请人电脑的硬盘系列号,你进行一定的加密运算得到注册码,给他注册码,一旦他改变了电脑安装,注册码就没用了。
   回复人:caiyan2000 回复时间:2002-6-10 15:52:00 那么如何能够获得硬盘的序列号呢?

   回复人:zhuzj 回复时间:2002-6-12 5:06:00 新建一模块文件
  新建一模块文件,并将如下声明的语句和常量添加到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

  Dim TempLon1 As Long

  Dim TempLon2 As Long

  ………

  ‘读取是否注册的信息,如何控制这里不再说明

  ………

  Call GetVolumeInformation("C:", TempStr1, 256, GetVal, TempLon1, TempLon2, TempStr2, 256)

  Text1.Text = GetVal ‘提取本机C盘的序列号至文本框一

  End Sub

  将如下程序代码添加到Command1的Command1_Click事件中:

  Private Sub Command1_Click()

  If Text2 〈〉 CStr(GetVal) Then

  MsgBox "注册码不正确,请认真检查输入是否正确。"

  Else

  MsgBox "你已经成功注册,请重新启动本软件。"

  ………

  (将正确注册的信息写入,使软件功能以后不受限制。具体方法依个人爱好进行设置。)

  ………

  End If

  End Sub