PDA

View Full Version : سوال: محدود کردن تعداد دفعات اجرای برنامه



vahid_visualbasic
شنبه 03 مرداد 1388, 02:18 صبح
سلام. اول این رو بگم که بنده ابتدا در سایت جستجو کردم تاپیکی مرتبط با این موضوع پیدا نکردم!!!!!!!!!!!


بنده میخوام نرم افزارم روی سیستم مشتری 3 بار اجرا بشه یعنی در کل 3 بار بتونه از برنامم استفاده کنه و بعد از 3 بار برنامه بسته شه و اگه خواست بازش کنه یه پیغام بده که باید نرم افزار خریداری بشه. و نرم افزار به هیچ عنوان باز نشه در کل یه حالت تریال به نرم افزار میده

از دوستان اگر کسی کدی در این مورد داره دریغ نکنه

butterfly8528
شنبه 03 مرداد 1388, 03:11 صبح
سلام دوست عزیز . این ساده ترین روش هست که البته به راهتی میشه دورش زد .


Public Sub putElapsedDayes_InRegistry(MaxAllowableDays As Long)
Dim i As Double
Dim j As String
i = Val(GetSetting(App.EXEName, "PW", "Day", "0"))
If i >= MaxAllowableDays Then
MsgBox "You Are Using The Trial Version Of This Program." + vbCrLf + "Get Its Latest Version at -> www.1120.blogfa.com (http://www.1120.blogfa.com) ", vbExclamation, "Sorry !"
End
End If
j = GetSetting(App.EXEName, "PW", "Date", "")
If j <> Date Then _
SaveSetting App.EXEName, "PW", "Day", i + 1
SaveSetting App.EXEName, "PW", "Date", Date
End Sub


این هم روش استفاده :


Private Sub Form_Load()
putElapsedDayes_InRegistry 3
End Sub


موفق باشید .

HjSoft
شنبه 03 مرداد 1388, 11:43 صبح
اين روش كاملا درسته ، اما به راحتي كرك ميشه و هيچ راهي نداره . البته خودم هم به ناچار از اين استفاده كردم ولي خوب يكم سختش كردم ، اول ميومدم با يك فايل تطبيق مي دادم بعد اگر درست بود به عنوان دفعات اجرا در نظر گرفته مي شد .

sohrab o
شنبه 03 مرداد 1388, 12:27 عصر
آره اما این روش یک روش کلی است و باید شما و دوستانی که میخواهند استفاده کنند به اون شاخ و برگ اضافه کنند و از لحاظ امنیت ارتقا بدهند

vahid_visualbasic
شنبه 03 مرداد 1388, 18:15 عصر
سلام دوست عزیز . این ساده ترین روش هست که البته به راهتی میشه دورش زد .


Public Sub putElapsedDayes_InRegistry(MaxAllowableDays As Long)
Dim i As Double
Dim j As String
i = Val(GetSetting(App.EXEName, "PW", "Day", "0"))
If i >= MaxAllowableDays Then
MsgBox "You Are Using The Trial Version Of This Program." + vbCrLf + "Get Its Latest Version at -> www.1120.blogfa.com (http://www.1120.blogfa.com) ", vbExclamation, "Sorry !"
End
End If
j = GetSetting(App.EXEName, "PW", "Date", "")
If j <> Date Then _
SaveSetting App.EXEName, "PW", "Day", i + 1
SaveSetting App.EXEName, "PW", "Date", Date
End Sub


این هم روش استفاده :


Private Sub Form_Load()
putElapsedDayes_InRegistry 3
End Sub


موفق باشید .

دوست عزیز ممنون ولی من این کدها رو وارد کردم بعد از 3 بار برنامه باز اجرا میشه!!! و هیچ عکس العملی نشون نمیده . البته من این کد رو دست کاری نکردم اگر لازم ه تغیراتی هست من رو راهنمایی کنید ممنون

butterfly8528
شنبه 03 مرداد 1388, 22:30 عصر
دوست عزیز ممنون ولی من این کدها رو وارد کردم بعد از 3 بار برنامه باز اجرا میشه!!! و هیچ عکس العملی نشون نمیده . البته من این کد رو دست کاری نکردم اگر لازم ه تغیراتی هست من رو راهنمایی کنید ممنون

دوست عزیز شرمنده .

اصلا حواسم نبود . این کد برنامه رو به صورت روزشمار تریال می کنه .

یعنی با استفاده از کد بالا برنامه شما بعد از 3 روز پیغام میده .

اگه میخوای برنامه فقط 3 بار اجرا شه روش کار فرق می کنه

اگه سوالی بود در خدمتم .

vahid_visualbasic
شنبه 03 مرداد 1388, 22:50 عصر
اگه میخوای برنامه فقط 3 بار اجرا شه روش کار فرق می کنه
خوب لطف بفرمایید روش کار رو با کدش توضیح بدید ممنون

HjSoft
یک شنبه 04 مرداد 1388, 09:55 صبح
اينم يك كد هست كه به صورت خيلي ساده همين كار رو انجام ميده .

Private Sub Form_Load()
retvalue = GetSetting("A", "0", "Runcount")
GD$ = Val(retvalue) + 1
SaveSetting "A", "0", "RunCount", GD$
If GD$ > 3 Then
MsgBox ("مدت اجراي برنامه به پايان رسيده است.")
Unload Me
End If
End Sub
اما : اين راه دور زدنشه !
يك آنتي ويروس Macafee نصب كنيد تا به محض تغييري در ريجستري مسير رو نشون بده و از اونجا مقدار هاي ثبت شده رو تغيير بدين ( اينم دور زدنش )

sohrab o
دوشنبه 05 مرداد 1388, 01:50 صبح
میتونی ترکیبی از روش های فوق باشه
میتونی هم داخل رجیستری هم داخل فایل و هم داخل یک بانک اطلاعاتی ، اطلاعات و داده کد شده را ذخیره کنی و هر دفعه هر 3 مقدار را با هم چک کنی اگه با هم فرق داشت یا اینکه از 3 بیشتر شده بود دیگه وارد نشه در غیر این صورت یکی اضافه بشه و وارد نرم افزار بشه

vahid_visualbasic
دوشنبه 05 مرداد 1388, 02:04 صبح
دوست عزیز ممنون ولی نمیدونم چرا در هر صورتی کد رو اجرا میکنم میگه مدت اجرا به پایان رسیده حتی وقتی اعداد کنتور رو دستکاری میکنم!!!

vahid_visualbasic
دوشنبه 05 مرداد 1388, 02:09 صبح
میتونی ترکیبی از روش های فوق باشه
میتونی هم داخل رجیستری هم داخل فایل و هم داخل یک بانک اطلاعاتی ، اطلاعات و داده کد شده را ذخیره کنی و هر دفعه هر 3 مقدار را با هم چک کنی اگه با هم فرق داشت یا اینکه از 3 بیشتر شده بود دیگه وارد نشه در غیر این صورت یکی اضافه بشه و وارد نرم افزار بشه
فکر خوبیه ولی اگه برنامه بانک اطلاعاتی نداشت چی؟؟

HjSoft
دوشنبه 05 مرداد 1388, 16:55 عصر
فكر خوبي هست ، اما خيلي دردسر داره ، موقع نصب كه بايد حواستون جمع باشه كه يكجاش اشتباه نكنيد . 2- اگر برنامه دوبار نصب بشه ، مشكل پيش مياد 3- كد نويسيش سخته ، چون اول بايد وجود همه ي اون ها رو چك كني بعد بياي ببيني كدوم از كدوم بيشتره ، بعد بياي با ريجستري چك كني . بعد اگر ويندوز عوض شده بود ووووووووووووووووووووووووو وووو ...............................

saeedr22
دوشنبه 05 مرداد 1388, 18:05 عصر
میتونین رو فایل ذخیره کنین.

vahid_visualbasic
دوشنبه 05 مرداد 1388, 19:33 عصر
من فک میکنم راه های اصولی و منطقی دیگه ای هم واسه این کار وجود داره!

HjSoft
دوشنبه 05 مرداد 1388, 22:44 عصر
صد در صد وجود داره . استفاده از CoolDisk و TinyDrives راه عاقلانه اي .
البته اگر Avr يا Pic بلد باشين ، حتي خودتون ميتونيد اين نوع قفل هاي Usbرو طراحي كنيد ، يك Eprom ميخواد و يك USB Bus و يك Mircocontroler

vahid_visualbasic
سه شنبه 06 مرداد 1388, 00:04 صبح
صد در صد وجود داره . استفاده از CoolDisk و TinyDrives راه عاقلانه اي .
البته اگر Avr يا Pic بلد باشين ، حتي خودتون ميتونيد اين نوع قفل هاي Usbرو طراحي كنيد ، يك Eprom ميخواد و يك USB Bus و يك Mircocontroler

دوست عزیز اگه لطف کنید توضیح کلی و مختصری در اینباره بدین ممنون میشم
البته بنده قصد دارم نسخه تریال رو از طریق اینترنت پخش کنم

sohrab o
سه شنبه 06 مرداد 1388, 00:24 صبح
فكر خوبي هست ، اما خيلي دردسر داره ، موقع نصب كه بايد حواستون جمع باشه كه يكجاش اشتباه نكنيد . 2- اگر برنامه دوبار نصب بشه ، مشكل پيش مياد 3- كد نويسيش سخته ، چون اول بايد وجود همه ي اون ها رو چك كني بعد بياي ببيني كدوم از كدوم بيشتره ، بعد بياي با ريجستري چك كني . بعد اگر ويندوز عوض شده بود ووووووووووووووووووووووووو وووو ...............................

دوست عزیز راه های بسیاری وجود داره و هر راه هم مشکلاتی داره
البته خیلی هم دردسر نداره و اصلا به زمان نصب و تغییر ویندوز کاری نداره

HjSoft
چهارشنبه 07 مرداد 1388, 16:10 عصر
چون من خودم، يك بار اين موضع برام پيش اومد ، گفتم حالا شما يكبار برنامه به اين سبك بنويس ، به اين مشكلات بر خواهيد خورد . در عحدي مشكل بد بود كه باعث لو رفتن برنامه ام شد .
براي اطلاعات بيشتر در مورد Cool Disk ها و TinyDongle ها : عبارت TinyDongle را جستجو كنيد . البته براي پخش اينترنتي كاربردي ندارند . در ضمن اين قفل ها كوچك ، سبك ، ساده ، و صد البته فوق العاده ارزان هستند.