本示例可以参考CaseStudy目录下的文件“注册系统设计演示.table”。
假定你提供了一个项目给客户试用,希望前30次正常启动,30次后出现注册窗口,60次后如果没有注册,则拒绝进入。
设计步骤:
1、设计一个注册码输入窗口,窗口类型为模式,窗口名称为“注册”,窗口中的控件如下图:
2、将窗口的AfterLoad事件设为:
e.Form.Controls("TextBox1").Value =
ComputerId
e.Form.Controls("TextBox2").Value = GetConfigValue("Register" & ComputerId,
"")
因为可能有不同的电脑使用项目,所以用于保存注册码的设置名称必须包括机器码,以避免注册码被覆盖。
3、将窗口中“确定”按钮的代码设为:
SaveConfigValue("Register" & ComputerId,
e.Form.Controls("TextBox2").Value)
e.Form.Close()
4、最后将项目的AfterOpenProject事件设为:
Dim n As
Integer = GetConfigValue("Count",1)
Dim Code As
String = GetConfigValue("Register" & ComputerId,"")
Dim Ok As
Boolean
If Code > "" AndAlso DecryptText(Code,"abc","abc") = ComputerId Then
'如果注册码正确
OK = True
Else
If n > 30
Then
Forms("注册").Open()
Code =
GetConfigValue("Register"
& ComputerId,"")
If Code > "" AndAlso DecryptText(Code,"abc","abc") =
ComputerId Then
'如果注册码正确
OK
= True
End
If
End
If
If n > 60
AndAlso Ok = False
Then
Messagebox.Show("您正在使用的产品已经超出试用次数!")
Syscmd.Project.Exit()
End
If
End
If
n = n + 1
SaveConfigValue("Count",n)
求助:怎么吧注册表的代码写法加入到上面的代码中,实现项目更新后,注册依旧有效!
下面为注册表写入方法
Dim Count As
Integer
Count = Registry.GetValue("HKEY_CURRENT_USER\Software\MyApp","Count",0)
Registry.SetValue("HKEY_CURRENT_USER\Software\MyApp","Count",Count + 1)
Output.Show(Count)
[此贴子已经被作者于2014-12-29 15:47:37编辑过]