1、发布前开发者在命令窗口执行SaveConfigValue("Count",0),进行使用次数归0,(初始化)2、这里只能用N > 0,请看帮助文件,当N = 30 ,打开了注册窗口,后面继续执行
n = n + 1
SaveConfigValue("Count",n)也就是GetConfigValue("Count",1)得到的值在大于31以后,还在不断地递增,所以这里是大于符号,同理,您的设置在等于1以后,还在不断地递增,导致小于大于1时都不会打开注册窗口,仅有一次可注册机会,导致n <> 1时打开注册窗口的想法失效,所以,这个大于符号不能更改!
确需更改,折这样!
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 = 1 Then
n = n - 1 '注意这里加一行代码,让n始终比判断值小于1,下次判断则等于1,也就是您只给了用于一次试用机会,严谨一点,帮助可以这样写,也就不会出现这个问题,> 和 = 符号的不同带来的逻辑错误逻辑(上面的 if n = 1这里的1可以修改为您愿意放开给用户试用次数的任意值)
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)