以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]加密  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=149281)

--  作者:hanlingli111999
--  发布时间:2020/4/28 8:11:00
--  [求助]加密
老师好:我设计的小程序加密用的是帮助上面的“另一种加密方式”,帮助上提示
要把使用次数同时保存到注册表,我按帮助上的代码是否也放到项目属性的After Open project里,
如:把代码n = Registry.GetValue("HKEY_CURRENT_USER\\Software\\MyApp","n",0)
Registry.SetValue("HKEY_CURRENT_USER\\Software\\MyApp","n",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 > 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)


--  作者:有点蓝
--  发布时间:2020/4/28 8:58:00
--  
Dim n As Integer = GetConfigValue("Count",1)
dim n2 = Registry.GetValue("HKEY_CURRENT_USER\\Software\\MyApp","n",1)
if n <> n2 then
msgbox("试用异常")
Syscmd.Project.Exit()
end if
Dim Code As String = GetConfigValue("Register" & ComputerId,"")
Dim
 Ok As Boolean
……
SaveConfigValue("Count",n)
Registry.SetValue("HKEY_CURRENT_USER\\Software\\MyApp","n",n)

--  作者:hanlingli111999
--  发布时间:2020/4/28 9:03:00
--  
谢谢老师,我试一下
--  作者:hanlingli111999
--  发布时间:2020/4/28 9:23:00
--  
老师,怎么设置初始n=n2呢
--  作者:有点蓝
--  发布时间:2020/4/28 9:40:00
--  
命令窗口执行

SaveConfigValue("Count",1)
Registry.SetValue("HKEY_CURRENT_USER\\Software\\MyApp","n",1)

--  作者:hanlingli111999
--  发布时间:2020/4/28 10:17:00
--  
老师我试了一下,卸载后重装还是能继续使用试用次数
--  作者:有点蓝
--  发布时间:2020/4/28 10:41:00
--  
上传项目实例测试。发布后的项目不要调用5楼的代码
--  作者:hanlingli111999
--  发布时间:2020/4/28 11:04:00
--  
Dim n As Integer = GetConfigValue("Count2",1)
Dim n2 = Registry.GetValue("HKEY_CURRENT_USER\\Software\\MyApp","n",1)
If n <> n2 Then
msgbox("试用异常")
Syscmd.Project.Exit()
End If
Dim Code As String = GetConfigValue("Register" & ComputerId,"")
Dim Ok As Boolean 
If Code > "" AndAlso DecryptText(Code,"abc","qaz") = ComputerId Then \'如果注册码正确
    OK = True
Else
    If n > 10 Then
        Forms("登录").Open()
        Code = GetConfigValue("Register" & ComputerId,"")
        If Code > "" AndAlso DecryptText(Code,"abc","qaz") = ComputerId Then \'如果注册码正确
            OK = True
        End If
    End If
    If n > 15 AndAlso Ok = False Then
        Messagebox.Show("您正在使用的产品已经超出试用次数!")
        Syscmd.Project.Exit()
    End If
End If
n = n + 1
SaveConfigValue("Count2",n)
Registry.SetValue("HKEY_CURRENT_USER\\Software\\MyApp","n",n)

--  作者:有点蓝
--  发布时间:2020/4/28 11:17:00
--  
卸载后重装指什么?foxtable?发布后的程序?
--  作者:hanlingli111999
--  发布时间:2020/4/28 11:20:00
--  
是指发布后的程序(安装包),比如我设置试用15次,卸载安装包后重新安装发布后的安装包,
还是试用15次