هم کامپوننتهاش روی نت هست هم برنامه های جانبی که این کارو انجام میدن
سناریوی ساده ای داره شما اولین زمان اجرا رو جایی مثل رجیستری-انتهای فایل dll برنامتون یا ... ذخیره میکنید(استفاده از تاریخ ویندوز با عقب کشیدن ساده حل خواهد شد)بعد از هر بار اجرا چک میکنید که آیا برنامه در بازه زمانی درستی هست یا خیر اگه نبود که برنامه رو ببنده
این هم یک کد ساده که باید تغییراتی درش بدین تا اون چیزی که میخواهید ازش در بیاد
کد:
Public Function DateGood(NumDays As Integer) As Boolean
'The purpose of this module is to allow you to place a time
'limit on the unregistered use of your shareware application.
'This module can not be defeated by rolling back the system clock.
'Simply call the DateGood function when your application is first
'loading, passing it the number of days it can be used without
'registering.
'
'Ex: If DateGood(30)=False Then
' CrippleApplication
' End if
'Register Parameters:
' CRD: Current Run Date
' LRD: Last Run Date
' FRD: First Run Date
Dim TmpCRD As Date
Dim TmpLRD As Date
Dim TmpFRD As Date
TmpCRD = Format(Now, "d/m/yy")
TmpLRD = GetSetting(App.EXEName, "Param", "LRD", "1/1/2000")
TmpFRD = GetSetting(App.EXEName, "Param", "FRD", "1/1/2000")
DateGood = False
'If this is the applications first load, write initial settings
'to the register
If TmpLRD = "1/1/2000" Then
SaveSetting App.EXEName, "Param", "LRD", TmpCRD
SaveSetting App.EXEName, "Param", "FRD", TmpCRD
End If
'Read LRD and FRD from register
TmpLRD = GetSetting(App.EXEName, "Param", "LRD", "1/1/2000")
TmpFRD = GetSetting(App.EXEName, "Param", "FRD", "1/1/2000")
If TmpFRD > TmpCRD Then 'System clock rolled back
DateGood = False
ElseIf Now > DateAdd("d", NumDays, TmpFRD) Then 'Expiration expired
DateGood = False
ElseIf TmpCRD > TmpLRD Then 'Everything OK write New LRD date
SaveSetting App.EXEName, "Param", "LRD", TmpCRD
DateGood = True
ElseIf TmpCRD = Format(TmpLRD, "d/m/yy") Then
DateGood = True
Else
DateGood = False
End If
End Function
'usage
Private Sub Form_Load()
'Form code:
If Not DateGood(30) Then
MsgBox "Trial Period Expired!", vbExclamation, "Unregistered Application"
Unload Me
Else
'do whatever you want to
End If