Foxtable(狐表)用户栏目专家坐堂 → 软件注册还是不懂!


  共有3124人关注过本帖树形打印复制链接

主题:软件注册还是不懂!

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


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/2 20:41:00 [显示全部帖子]

不需要加什么return,完全多余,if语句的说明好好看看:http://www.foxtable.com/webhelp/topics/0223.htm

Dim n As Integer = Registry.GetValue("HKEY_CURRENT_USER\Software\cncgl","Count",0)
Dim Code As String =Registry.GetValue("HKEY_CURRENT_USER\Software\cncgl","Register" & HardDiskID,"")
Registry.SetValue("HKEY_CURRENT_USER\Software\cncgl","Count", n+1)
Dim Ok As Boolean
If Code > "" AndAlso DecryptText(Code,"abc","abc") = HardDiskID  Then '如果注册码正确
    OK = True
Else
    If n > 30 Then
        Forms("注册").Open()
        Code = Registry.GetValue("HKEY_CURRENT_USER\Software\cncgl","Register" & HardDiskID,"")
        If Code > "" AndAlso DecryptText(Code,"abc","abc") = HardDiskID  Then '如果注册码正确
            OK = True
        End If
    End If
    If n > 60 AndAlso Ok = False Then
        Messagebox.Show("您正在使用的产品已经超出试用次数!")
        Syscmd.Project.Exit()
    End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/3 9:45:00 [显示全部帖子]

第一个OK赋值确实没有什么用。但是不影响整体逻辑的处理。

如果是第一个if符合条件,不可能会执行else里面的代码的。既然能够进入注册窗口,说明第一个if条件肯定不成立

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/3 10:36:00 [显示全部帖子]

valueName 是键,GetValue通过这个键取得的也是value的值,不会有问题

自己调试一下
注册码提交代码是这样的
msgbox(e.Form.Controls("textbox1").Text)
msgbox(EncryptText(e.Form.Controls("textbox1").Text, "abc", "abc"))
If e.Form.Controls("textbox2").Text = EncryptText(e.Form.Controls("textbox1").Text, "abc", "abc") Then    '判断注册码是否正确
msgbox(e.Form.Controls("textbox2").Text)
Registry.SetValue("HKEY_CURRENT_USER\Software\cncgl","Register" & HardDiskId, e.Form.Controls("textbox2").Text)   '如果正确则写入注册表
MessageBox.show("注册成功,感谢您的使用!")
e.Form.Close()
Else
MessageBox.show("无效的注册码,请重新输入")
End If

……
    If n > 30 Then
        Forms("注册").Open()
        Code = Registry.GetValue("HKEY_CURRENT_USER\Software\cncgl","Register" & HardDiskID,"")
msgbox(Code)
msgbox(HardDiskID )
        If Code > "" AndAlso DecryptText(Code,"abc","abc") = HardDiskID  Then '如果注册码正确
            OK = True
        End If
    End If
    If n > 60 AndAlso Ok = False Then
        Messagebox.Show("您正在使用的产品已经超出试用次数!")
        Syscmd.Project.Exit()
    End If
……

 回到顶部