VB怎样编写使用时间限制?

VB怎样编写使用时间限制?比如使用30天时间。而且把系统时间改了也不会被破解。... VB怎样编写使用时间限制?比如使用30天时间。而且把系统时间改了也不会被破解。 展开
 我来答
Coo_boi
2010-04-18 · TA获得超过1333个赞
知道大有可为答主
回答量:2209
采纳率:50%
帮助的人:226万
展开全部
用个简单并且就好理解的方法。
做时间记录。输出一个隐秘路径如:%SystemRoot%\TimeRec.dat这个文件用来储存使用的时间,每次启动程序就读取里面的时间长度。如果大于三十天就关闭自身程序。
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long

Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long

Private Sub LimTime()
Dim LastExitTime As String * 255
Dim FirstOpTime As String * 255
Dim RunDays As String * 255
Dim Ret As Long

If Dir("C:\Windows\RunExe.ini") = "" Then
FirstOpTime = Now
LastExitTime = Now
Ret = WritePrivateProfileString("ProgramInfo", "Author", "Cokie", "C:\Windows\RunExe.ini")
Ret = WritePrivateProfileString("ProgramInfo", "FirstOpTime", FirstOpTime, "C:\Windows\RunExe.ini")
Ret = WritePrivateProfileString("RunRecords", "RunDays", "0", "C:\Windows\RunExe.ini")
Ret = WritePrivateProfileString("RunRecords", "LastExitTime", LastExitTime, "C:\Windows\RunExe.ini")
Else
Ret = GetPrivateProfileString("RunRecords", "LastExitTime", "UnFound", LastExitTime, 255, "C:\Windows\RunExe.ini")
If Now <= CDate(LastExitTime) Then
MsgBox "你改变了系统时间,卑鄙!": Unload Me
Else
Ret = GetPrivateProfileString("RunRecords", "RunDays", "UnFound", RunDays, 255, "C:\Windows\RunExe.ini")
If CLng(RunDays) >= 30 Then
MsgBox "您的试用期已经到了!": Unload Me
Else
If Day(CDate(LastExitTime)) <> Day(Now) Then
RunDays = CStr(DateDiff("d", CDate(LastExitTime), Date) + CLng(RunDays))
Ret = WritePrivateProfileString("RunRecords", "Rundays", RunDays, "C:\Windows\RunExe.ini")
End If
End If
End If
End Sub

Private Sub Form_Load()
Call LimTime
End Sub

Private Sub Form_Unload(Cancel As Integer)
Dim LastExitTime As String * 255
LastExitTime = Now
Ret = WritePrivateProfileString("RunRecords", "LastExitTime", LastExitTime, "C:\Windows\RunExe.ini")
End Sub
liuwei860510
2010-04-18 · TA获得超过324个赞
知道小有建树答主
回答量:1817
采纳率:100%
帮助的人:702万
展开全部
那就取网络时间
还有一个办法有软件可以设置
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式