|
产品加锁(时间掣)技术
一般软件都有封面(FM)或主菜单界面(MAIN),为了防止非法使用可在其中加入一个逻辑锁或时间掣。如下面语句即是一个时间锁: year(date())=2000.and.(month(date())=10.and.day(date())=6),表示到了2000年的10月6日,即发生事件:要求输入密码(这里是888888),否则不准进入系统。这里的时间和密码可自行设定。现假设在FM或MAIN表单,里面有一个名为“进入系统” 的命令按钮(Command1),是进入软件系统内部的“必经之路”,我们可对此按钮加上逻辑锁或时间掣,使它不可用,即使其Enabled属性为Fales,只有输入正确密码才变为True, 为此我们可在FM或MAIN表单的ACTIVATE事件中加入三个控件:文本框(Text1)、标签(Label1)、命令按钮(Command2),首先使它们在平时都不可见,但一旦条件符合刚显示出来。为此可使它们的Visible属性为 False, 然后在封面或主菜单表单的Activate事件中加入如下代码:
if year(date())=1999.or.(month(date())=
2.and.day(date())=16)
thisform.label1.visible=.t.
thisform.text1.visible=.t.
thisform.command1.enabled=.f.
&&屏蔽“进入系统”按钮
thisform.command2.visible=.t.
messagebox('请输入产品许可证号,
以维护您的权益!','产品系列号核对')
endif
然后在“确定”按钮(Command2)
的Click事件中加入如下代码:
if alltrim(thisform.text1.value)< >'888888'
messagebox('系列号不正确,请找软件开发人员联系!
','你不是本软件合法用户')
thisform.label1.caption="系列号不正确,请核对!"
else
thisform.label1.caption='系列号正确!
您是合法用户,欢迎进入系统'
thisform.command1.enabled=.t.
&&密码校验正确,激活“进入系统”按钮
endif
这样一旦到了规定的时间(这里是1999年或每年的10月6日)或符合设定的条件,系统就会向用户要产品系列号,否则拒绝进入系统。因为这个锁平时不可见,很具隐蔽性,所以又可称为“暗锁”。 |
|