用vb简易注册表读写来完成,不懂得注册表修改的还是能起到作用的,拷贝下列代码即可
Private Sub Form_Load()
Dim a As String, t1 As Date, t2 As Date, j As Integer
a = GetSetting("我的注册", "时间", "第一次运行", "错误")
If a = "错误" Then
'表明是第一次运行,则注册第一次运行时间和递进时间戳
SaveSetting "我的注册", "时间", "第一次运行", Now
SaveSetting "我的注册", "时间", "每次运行", Now
Exit Sub
End If
t1 = a
'将第一次运行的时间赋值,第一次运行时间只在注册表中写一次
a = GetSetting("我的注册", "时间", "每次运行", "错误")
If a = "错误" Then
'如果有第一次运行时间却没有每次运行时间,说明有认为修改注册表嫌疑,
'此处可加个恶意修改注册,每次运行读该值以判断是否被恶意修改,如有则直接退出即可
MsgBox "恶意注册错误,程序永不运行"
End
End If
t2 = a
'将每次运行的时间赋值,该注册表值每次运行时均记录
j = DateDiff("d", t1, Date) '将当前时间减去第一次运行时间
If j > 30 Then
MsgBox "试运行时间到,请购买正版程序"
End
End If
If t1 > Now Or t2 > Now Then
MsgBox "恶意修改系统时间,系统不运行"
End
End If
'一切正常则记录此次运行时间
SaveSetting "我的注册", "时间", "每次运行", Now
msgbox "距离试用期结束还有" & str(30-j) & "天"
End Sub
[
本帖最后由 lowxiong 于 2013-7-25 10:17 编辑 ]