会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > 加密解密安全 > 正文

限制软件试用次数及时间

时间:2003-12-12 00:00 来源:Access911 作者:ec 阅读:


作者:ec  更新日期:2002-12-20  浏览人次:91 
 

 

问题:

 

 如何写注册表限次?
如何通过写注册表限制数据库使用时间?比如到某年某月某日过期。 

 


回答:

 

 在模块中加入如下代码,然后再启动时用名字为Autoexec的宏启动
'其实本例非常简单,你只要弄懂 SaveSetting和GetSetting即可
'本例会修改注册表。

Option Compare Database
Option Explicit
Dim HowMany As String
Dim addTimes As Integer


Sub Times()
    '初始注册表,在注册表写入键值
    SaveSetting "HerdsboyTimeLimit", "Settings", "Times", "1"

    '把这句改为写入时间,以后通过datediff比对now
    '与第一次写入的时间就可以达到限制时间的目的
    MsgBox "欢迎第1次程序使用本程序!", , "通用限次程序"
End Sub

Sub Changetimes()
    '把字符值强制转为整形值
    HowMany = Cint(GetSetting("HerdsboyTimeLimit", "Settings", "Times")) 
    HowMany = HowMany + 1  '增加次数
    addTimes = CStr(HowMany) '把次数重新转为字符串
    '重写注册表值
    SaveSetting "HerdsboyTimeLimit", "Settings", "Times", addTimes 
End Sub

Function Gettimes()
On Error Resume Next
    '加载,获得使用次数
    HowMany = Cint(GetSetting("HerdsboyTimeLimit", "Settings", "Times")) 
    If HowMany = "" Then
        Call Times   '如果注册表没有该键值,加载写入注册表过程
    ElseIf HowMany <= 100 Then
        '判断使用次数,小于100继续使用
        MsgBox "你使用了" & HowMany & "次本程序!", , "通用限次程序"  
        Call Changetimes '改变使用次数
        DoCmd.OpenForm "form"
        Exit Function
    Else
        MsgBox "你第" & HowMany & "次使用了本程序,超过使用次数!", , "通用限次程序"  
        '判断使用次数,大于100警告并停止使用
        DoCmd.Quit
    End If
End Function
 

 

 


例2

'限制软件30天试用 

Dim ReValue As Date '声明时间变量
Dim name As String '声明字符串变量,软件名称
Dim dd As Variant '声明数值变量,dd为日期差

name = "gggg" '给变量赋值软件名为gggg


ReValue = GetSetting(name, "MainKey", "DateValue", Date) '读取注册表软件名gggg的键值,如果没有则为当前日期
Me.Text1 = ReValue
dd = DateDiff("d", ReValue, Date) '计算日期差
Me.Text2 = dd

If dd = 0 Then '如果是第一天运行
    SaveSetting name, "MainKey", "dateValue", Date '写注册表
End If
If dd > 30 Then
    MsgBox "软件已过期"
Else
    MsgBox "软件可以试用"
    'DoCmd Quit
    MsgBox "还剩下" & 30 - dd & "天试用期!"
End If
 


 

 

(责任编辑:admin)

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: