设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

限制软件试用次数及时间

1970-1-1 08:00| 发布者: ec| 查看: 4322| 评论: 0


作者:ec  更新日期:2002-12-20  浏览人次:91 
专题地址: http://access911.net/index.asp?board=4&recordid=71FAB51E10DC 

 

问题:

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

 


回答:

 在模块中加入如下代码,然后再启动时用名字为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
 


 

最新评论

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-5 19:18 , Processed in 0.076687 second(s), 16 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部