以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于注册码的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83522)

--  作者:benwong2013
--  发布时间:2016/4/11 17:06:00
--  [求助]关于注册码的问题
老师,关于注册码的若直接从注册表中取值是否可以直接修改成为下面的代码即可,另外这样若系统更新的话,原机器应该是不用再进行注册码的吧;


Dim As Integer
n = Registry.GetValue("HKEY_CURRENT_USER\\Software\\MyApp","Count",0)
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
Registry.SetValue("HKEY_CURRENT_USER\\Software\\MyApp","Count",n + 1)

--  作者:大红袍
--  发布时间:2016/4/11 17:23:00
--  

 上面的代码,你只是记录次数count,你并没有把注册码的值保存到 注册表啊。你不能再用 GetConfigValue 和 SetConfigValue,全部都不能。


--  作者:benwong2013
--  发布时间:2016/4/11 18:29:00
--  
是否将 GetConfigValue 和 SetConfigValue用Registry.GetValue和Registry.SetValue 取代就可以了,另外窗口确定按键的代码应该如何写?
--  作者:大红袍
--  发布时间:2016/4/11 19:29:00
--  
把所有的GetConfigValue 和SetConfigValue替换成注册表的就行了,其余代码不变。