Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access开发平台

简单加密防复制功能

时 间:2018-09-20 23:02:12
作 者:丘苏洲   ID:66601  城市:普宁
摘 要:这是本人使用Access快速开发平台开发软件时,用到的一个简单加密防止自已的劳动成果被盗用的方法,测试的运行环境为:WIN7,OFFICE2007。
正 文:

一、开发思路:

获取计算机硬件信息加密后保存到参数表。

程序每次运行都获取当前计算机的硬件信息,加密后和参数表进行比对。

不匹配即显示注册窗体,不运行主程序。

匹配即运行主程序。

禁用Soft_Register》窗体的右键菜单。


二、实现方法:

在 SysFrmLogin 窗体增加以下代码:代码中的PWkey值为自已的加密匙。需要自行修改。


Private Sub Form_Load()
    If GetParameter("ComputerID") <> des(computerID(), "PWkey", doEncryption) Then
        DoCmd.OpenForm "Soft_Register", acNormal
    Else
        Dim strFormName As String: strFormName = Me.Name
        DoCmd.Close acForm, strFormName, acSaveNo
        OpenRDPForm strFormName
    End If
End Sub

复制增加《Soft_Register》窗体到自已的程序中。代码中的PWkey值为自已的加密匙。需要自行修改。


Private Sub Form_Close()
    If GetParameter("ComputerID") = des(computerID(), "PWkey", doEncryption) Then
        MsgBox "注册激活成功!请重新打开软件。"
      Else
        MsgBox "注册激活失败!请重新打开软件进行注册激活使用。"
    End If
End Sub


Private Sub Form_Load()
    Me.ShortcutMenu = False
    Me.registerID = GetParameter("ComputerID")
    Me.Computer = computerID()
End Sub

Private Sub getRegister_Click()
    Me.registerID = des(Me.Computer, "PWkey", doEncryption)
End Sub

Private Sub quit_Click()
    Me.ShortcutMenu = True
    DoCmd.quit acQuitSaveNone
End Sub

Private Sub Register_Click()
    If des(Me.registerID, "PWkey", doDecryption) = Me.Computer Then      
        DoCmd.SetWarnings False
        Dim strSQL
        If GetParameter("ComputerID") <> des(computerID(), "PWkey", doEncryption) Then
            strSQL = "update [SysLocalParameters] set [Value]='" & des(computerID(), "PWkey", doEncryption) & "' where [ParameterName]='ComputerID'"
            DoCmd.RunSQL strSQL
        End If
        MsgBox "注册成功!"
        blExit = True
        Call LogoutRDP
    Else
        MsgBox "激活码有误,请重新录入!"
        Me.Register.SetFocus
    End If   
End Sub

Private Sub WriteRegister_Click()
    DoCmd.SetWarnings False
    Dim strSQL
    strSQL = "update [SysLocalParameters] set [Value]='' where [ParameterName]='ComputerID'"
    DoCmd.RunSQL strSQL
    Me.registerID = ""
End Sub



三、示例下载:

下载附件解压后,打开Main主程序文件就可以运行。

附    件:(UMVsoftRDP_V2.4.1.412_32bit

点击下载此附件



Access快速开发平台QQ群 (群号:321554481)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助