ورود

View Full Version : سوال: كدي كه برنامه رو 30 روز فعال نگه دارد



mohammad-30
سه شنبه 19 دی 1391, 13:31 عصر
سلام دوستان

دنبال كدي ميگردم كه برنامه نوشته شده بعد از چند روز (مثلا 15 يا 20 روز ) غير فعال بشه و از كاربر كد بخواد. (اكتيو):متعجب::متعجب:

اساتيد گرامي لطفا راهنمايي كنيد كارم گيره:گریه::گریه:

SlowCode
سه شنبه 19 دی 1391, 16:17 عصر
سلام
قبلا زیاد بحث شده ها!!
2 تا راه داری:
1- آسان ترین راه اینه که از امکانات ستاپ سازهایی مثل ستاپ فکتوری استفاده کنی(ولی به دلایل امنیتی توصیه نمیشه)
2- روش دستی:
یه مکان واسه نگه داشتن مقدار انتخاب کن، مثلا رجیستری، دیتابیس یا یه فایل. بعد توی فرم لود اون مقدار رو بخون و یه واحد افزایش بده بعد یه شرط بزار اگه اون مقدار 15 بود یه پیغامی بده.
البته اگه اینو می خوای توزیعش کنی باید بگم در عرض 15 ثانیه کرک میشه.:لبخند:
ولی فعلا این رو یاد بگیر بعد می تونی یه راه هایی واسه سخت کردن کار کرکر یاد بگیری.
-----------
بهتر بود این سوال رو تو صفحه اصلی می پرسیدی چون به ابزارهای گزارشگیری در VB6 ربطی نداره!:گیج:

h_r_ibm
سه شنبه 19 دی 1391, 22:11 عصر
تعداد روز هاي استفاده رو تو ديتابس ذخيره كن البته كدش كن كسي سر در نياره

mohammad-30
جمعه 29 دی 1391, 20:58 عصر
يه مشكل
من كه چيزي نفهميدم:متعجب: لطفا بيشتر راهنمايي كنيد و بيشتر توضيح بدين

MohammadGh2011
شنبه 30 دی 1391, 11:43 صبح
يه مشكل
من كه چيزي نفهميدم:متعجب: لطفا بيشتر راهنمايي كنيد و بيشتر توضيح بدين
سلام عليکم
ببينيد يه راه آسونش اينه که شما از ريجستري استفاده کنيد ولي کاربر اگه بخواد ويندوز رو عوض کنه يا از راه هاي ديگه بخواد ريجستري ويندوز رو Clean کنه برنامه شما کرک ميشه.
اين کد فقط سه بار برنامه رو باز ميکنه:

Dim RunCount As String
RunCount = GetSetting("Test0000", "Setting3", "RunCount")
If Val(RunCount) > 2 Then
MsgBox "مهلت اجراي برنامه به پايان رسيده است.", vbExclamation, ""
End
Else
MsgBox "بار ديگر اين برنامه را اجرا کنيد" & Str(3 - Val(RunCount)) & "فقط شما"
SaveSetting "Test0000", "Setting3", "RunCount", Str(Val(RunCount) + 1)
End If


راه هاي ديگه اي هم هستند.

موفق باشيد

amir2844
دوشنبه 02 اردیبهشت 1392, 09:33 صبح
سلام.
من توی برنامم از این روش استفاده کردم. جواب هم میده.خوب

ببین من توی دیتا بیس یه جدول دارم. دو تا فیلد داره. یکی تاریخ اولین استفاده. دومی تاریخ آخرین استفاده
اولین باری که وارد سیستم میشم این دو تا فیلد خالی هستش.
سیستم میاد بررسی میکنه اگه این دو تا فیلد خالی هستند تاریخ رو تو دو تاشون ذخیره می کنه ولی اگه جدول پر بود یعنی اینکه قبلا هم ذخیره شده. میام تاریخ رو توی فیلد دوم میریزم. بعد بررسی میکنه اگه اختلاف دو تا تاریخ بیشتر از 15 روز بود بیاد بیرون و اگر نبود نیاد. به همین سادگی

omid aboozari
دوشنبه 02 اردیبهشت 1392, 10:23 صبح
اخه عزیزم . اینو که قبلا گفته بودن . با این روش که شما می گین . اگه طرف بخواد سو استفاده کنه راحت می تونه . چون می تونه تاریخ سیستم رو بیاره عقب و راحت می تونه از برنامه استفاده کنه .

alipoor2009
پنج شنبه 02 خرداد 1392, 11:33 صبح
بهترین روش Decode کردن و بعد Encode کردنه - با روش هایی که دوستان گفتن

omid aboozari
دوشنبه 19 مرداد 1394, 19:52 عصر
امیدوارم این کارتون رو راه بندازه

Dim RunCount As String
RunCount = GetSetting("Test0000", "Setting3", "RunCount")
If Val(RunCount) > 29 Then
Else
MsgBox " شما فقط " & Str(30 - Val(RunCount)) & "بار ديگر مي توانيد اين برنامه را اجرا کنيد"

SaveSetting "Test0000", "Setting3", "RunCount", Str(Val(RunCount) + 1)
Unload Me
form1.Show
End If



با این دستور تو رجیستری براتون یه فایل می سازه که تعداد اون رو صفر قرار می ده بعد از اون استفاده می کنه و هر بار یکی به اون اضافه می کنه تا زمانی که به 30 برسه و برنامه قایل اجرا نیست و هیچ تغییری توش نمیده . برای تنظیم بیشتر می تونی برنامه رو تغییر بدی.

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

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

اگه بازم خواسی محکم کاری کنی می تونی با if های تو در تو و ایجاد قفلی با اطمینان بالا ادامه بدی
ولی هیچی مثل ایجاد قفل سخت افزاری نیست که تو بازار خیلی از اون ها به فروش می رسه