ايران ويج

نسخه‌ی کامل: ايجاد محدوديت زماني براي اجراي برنامه
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
هم کامپوننتهاش روی نت هست هم برنامه های جانبی که این کارو انجام میدن
سناریوی ساده ای داره شما اولین زمان اجرا رو جایی مثل رجیستری-انتهای فایل 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
صفحه‌ها: 1 2