Authorware实战开发专题(6-2)

  •   2009-07-09/15:33
  •    Authorware作品的加密保护(2)

    时间限制法


    目前的试用软件很流行采用时间限制,在没有购买正式版本以前,可以免费试用软件,但是有时间限制,有的甚至有功能限制。在Authorware作品中也可以轻松实现所谓的试用软件的时间限制,下面我们一起来做这个实例吧。

    实例说明:

    1、当计算机系统时间超过程序设定的试用时间期限后,程序不能继续运行,出现到期的提示信息(如下图6.1所示),然后自动退出程序。



    图6.1 超期运行

    2、当计算机系统时间在允许的时间期限内,程序正常运行,如下图6.2所示。



    图6.2 正常运行

    3、主程序流程图如下图6.3所示。



    图6.3 时间限制法主程序流程图

    实例分析:

    这个实例的关键就是时间变量的判断,因此我们新建一个a6p文件后,在程序流程的开始拖入一个计算图标,作为时间变量的初始化,在计算图标里编写以下代码:

    ResizeWindow(320,140) --调整窗口大小,可删除

    StopYear:=1842+161 --设置年份限制为2003年

    StopMonth:=13-1 --设置月份限制为12月

    可能你会不明白为什么2003年和12月要这样表示?其实这样做的目的是为了增加数据表示的复杂程度,更好的加密限制时间字段。设置好默认的时间期限后,接下来就是关键的时间变量比较判断分支了。继续在流程上添加一个交互图标,取名为“时间检查”,在它右边加入一个群组图标,设置为“Conditional”条件交互,返回类型设置为“Exit”退出交互,响应条件设置为:

    (Year >StopYear)|((Year=StopYear) & (Month >= StopMonth))

    条件交互的具体设置如下图6.4所示:



    图6.4 条件交互的具体设置

    这就是超过时间期限的执行分支,其群组图标二级流程图如下图6.5所示。分支执行后,出现图6.1所示的超期文字提示,停留一段时间后自动退出。



    图6.5 超期执行分支

    同样我们继续建立正常的执行分支程序,分支返回类型设置为“Try Again”返回类型,响应条件设置为:(Year<STOPYEAR)|((YEAR=STOPYEAR)&(MONTH<STOPMONTH))。

    程序已经建立完毕,马上运行看看会不会出现图6.1和图6.2所示的效果,可以通过改变系统的时间来测试程序的运行结果。也许你会觉得这种方法并不很好,因为用户只要通过改变自己的系统时间到允许的范围内就可以再次正常运行程序,别急,后面还有更好的方法呢,继续往下看吧。


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多