如何实现限次运行某个项目?
项目需求:
有些试用版程序,作者往往采用限制执行次数方式来保护自身的合法权益。利用发烧积木如何实现对项目的限次功能呢?项目只允许运行三次,当超过限定次数时,弹出对话窗口,禁止项目运行。
项目制作:
项目制作思路是,第一次运行时先在注册表的某处添加一个计数器。这样每运行一次项目,就在计数器中加1,当达到设定的数值时,不允许项目运行。特别指出的是,计数器可藏在注册表的任意位置,最好藏得深一点,否则别人很容易找到。该项目为了方便您参考,放在注册表的“HKEY_CLASSES_ROOT——.MyTestFever”位置。
所需构件:注册表操作、两个比较判断、提示信息对话窗口、普通标签等。
属性设置:注册表操作1的“根键”属性设为“HKEY_CLASSES_ROOT”;“主键”属性设为“.MyTestFever” (M前有一个点);“自动建立”属性设为“真”;“名称”属性设为“计数”。
事件设置:
当项目运行,创建窗口时,事件设置如图1所示
图1
解释:在对注册表进行读写数据时,必须先执行方法“打开主键”。由于自动建立属性为“真”,所以当项目运行,打开主键后,实际上在注册表的“HKEY_CLASSES_ROOT”处,已经添了主键“.MyTestFever”和主键数据(如果是第一次运行,数据为空)。
这样当执行“读字符串”操作时,读出来的数据与空字符串相比较,
如果相同(项目第一次运行),事件设置如图2所示。
图2
解释:把字符“1”赋给注册表操作的数据属性,执行方法写字符串。表示这个项目已经运行了一次了。
如果不同(项目运行已不是第一次了),事件设置如图3所示
图3
解释:既然不是第一次运行了,就得到“数据”属性中的值与字符3进行比较,
如果小于“3”,项目处于正常运行状态,事件设置如图4所示
图4
解释:每次运行时,就要把计数器加1,直到计数器等于3。
如果等于“3”(比较判断2的相同事件),事件设置如图5所示
图5
解释:把特定的信息赋给提示信息对话窗口的信息内容,并弹出信息对话窗口。
当单击对话窗口听“确定”按钮时,执行窗口1的方法“退出系统”。
重点提示:
在比较判断中嵌套了一个比较判断,即如果第一次运行,在注册表中添加一个计数器,如果不是第一次运行,再次比较判断……
特别指出的是,判断是否超过三,执行的是“相同”事件,而不是“大于”事件;
在注册表中要用读写字符串方法。