= -2: Exit Sub ''查找到已注册标志sign3
If Len(tmpVal(1)) = 1023 And Len(tmpVal(2)) = 1023 And Len(tmpVal(3)) = 1023 Then
''首次使用,将当前日期分别写入tmpVal(1)和tmpVal(2)中,在tmpVal(3)中写入准许运行标志sign1
CreateObject("WScript.Shell").regWrite "HKEY_LOCAL_MACHINE\Software\MyProgram\MyProgram3", Date$, "REG_SZ"
CreateObject("WScript.Shell").regWrite "HKEY_LOCAL_MACHINE\Software\MyProgram\MyProgram2", Date$, "REG_SZ"
CreateObject("WScript.Shell").regWrite "HKEY_LOCAL_MACHINE\Software\MyProgram\MyProgram1", "sign1", "REG_SZ"
ZHUCE = datetime
MsgBox "试用期剩余" & Trim(datetime) & "天"
Else
If tmpVal(3) = "sign2" Then ''查找到永久中止标志sign2中止使用
ZHUCE = -1
Exit Sub
MsgBox "试用期已满,请您注册!"
End If
If Date < DateValue(tmpVal(2)) Then ''人为将系统日期往回更改中止使用
''写入tmpVal(3)中止使用字串“sign2”
CreateObject("WScript.Shell").regWrite "HKEY_LOCAL_MACHINE\Software\MyProgram\MyProgram1", "sign2", "REG_SZ"
ZHUCE = -1
MsgBox "试用期已满,请您注册!"
Else
If DateValue(Date) - DateValue(tmpVal(1)) > datetime Then ''使用期超过datetime天中止使用
''写入tmpVal(3)中止使用字串sign2
CreateObject("WScript.Shell").regWrite "HKEY_LOCAL_MACHINE\Software\MyProgram\MyProgram1", "sign2", "REG_SZ"
ZHUCE = -1
MsgBox "试用期已满,请您注册!"
Else
''写入当前日期于tmpVal(2)中
CreateObject("WScript.Shell").regWrite "HKEY_LOCAL_MACHINE\Software\MyProgram\MyProgram2", Date$, "REG_SZ"
ZHUCE = datetime - (DateValue(Date) - DateValue(tmpVal(1)))
MsgBox "试用期剩余" & Trim(datetime) & "天"
End If
End If
End If
cuowu:
End Sub
从安全保密角度出发,当您应用上述代码时紫色部分应该根据您个人的保密设想进行必要的修改(当然您也可以不修改而直接应用):①示例中的代码把软件的注册与运行信息保存在HKEY_LOCAL_MACHINE\Software\MyProgram子键下的MyProgram1-3三个键值内,请根据您个人的保密原则修改为您所需要的子键名,以隐蔽为原则!②MyProgram1键值中的数据(字符串sign1或sign2或sign3分别对应着试用/期满/注册)应根据您个人的保密设想修改成需要的字符串,也以隐蔽为原则!
主程序中当用户输入正确的注册码(注册码当然是您随意愿而设)后,请执行语句:
CreateObject("WScript.Shell").regWrite "HKEY_LOCAL_MACHINE\Software\MyProgram\MyProgram1", "sign2", "REG_SZ"
完成软件注册。(该行代码中的Software\MyProgram\MyProgram1和sign2请与上述代码保持一致!)
以上代码在VB6、Win95/98/NT/Me/2000下调试通过。