Foxtable(狐表)用户栏目专家坐堂 → 求助:根据实例中的注册系统演示,怎么将数据写入到注册表中呢?


  共有3997人关注过本帖平板打印复制链接

主题:求助:根据实例中的注册系统演示,怎么将数据写入到注册表中呢?

帅哥哟,离线,有人找我吗?
李孝春
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
求助:根据实例中的注册系统演示,怎么将数据写入到注册表中呢?  发帖心情 Post By:2014/12/29 15:47:00 [只看该作者]

本示例可以参考CaseStudy目录下的文件“注册系统设计演示.table”。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:注册系统设计演示.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编辑过]

 回到顶部
总数 11 1 2 下一页