最近开发一个软件,想实现一个注册码的功能,具体要求如下:
1.一台机器使用一个注册码。
2.A机器上使用的注册码不能在B机器上使用。

解决方案 »

  1.   

    哦~~~是我理解错了,用户当然要把机器吗给你啊,然后你用你自己的注册机给他计算注册吗
    Private 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
    Private Sub Form_Load()
        'KPD-Team 1998
        'URL: http://www.allapi.net/
        'E-Mail: [email protected]
        Dim Serial As Long, VName As String, FSName As String
        'Create buffers
        VName = String$(255, Chr$(0))
        FSName = String$(255, Chr$(0))
        'Get the volume information
        GetVolumeInformation "C:\", VName, 255, Serial, 0, 0, FSName, 255
        'Strip the extra chr$(0)'s
        VName = Left$(VName, InStr(1, VName, Chr$(0)) - 1)
        FSName = Left$(FSName, InStr(1, FSName, Chr$(0)) - 1)
        MsgBox "磁盘 C:\ 卷标:" + VName + ", 文件系统:" + FSName + "磁盘序列号:" + Trim(Str$(Serial)) + "'", vbInformation + vbOKOnly, App.Title
    End Sub
      

  2.   

    //请问一下,用硬盘序列号,那么首先要用户提供硬盘序列号给我,我才能给他注册码么?是这样:
    你要通过你的程序获得硬盘序列号,显示在你程序的注册界面中,然后,用户再将这个序列号提供给你,你再通过你的产生序列号的程序,产生注册码,然后用户根据这个注册码进行注册建议,对初学者而言,这一切工作都不用自己完成,从网上下载一个DBPE(幻影),给你的程序加上一个外壳就一切OK,你所要做的就是记住你的密匙(越复杂越好,由你自己定义)
      

  3.   

    谢谢各位,
    那么就是说,
    首先用户提供他的机器信息给我,然后我在返回注册码给用这样。那么还有一个问题,我可以问么?是这样的,我想实现,在A机器上备份了数据库只能在A机器还原,但是不能在B机器还原,这样是需要怎么样实现呢?
      

  4.   

    是的,如果有小人骗我们呢
    比如他多了一台电脑用,又说原来的CPU或硬盘坏了,要补一个注册码.碰到这种事我们怎么解决呢?
      

  5.   

    给他
    看他还要坏几台
    我是在数据库中写入版本标记就是在第一次运行时写入机器码
    第二次运行是检测写没有
    有  如当前机器吗比  不对  end
    没写  写入当前机器码
    注意数据库别给别人破了