سلام
چطور می توان یک نرم افزار را 30 روزه کرد یعنی بعد از 30 روز نرم افزار محدود بشه
حتی اگر تاریخ سیستم رو عوض کنیم .
لطفا راهنمایی کنید ممنون.
سلام
چطور می توان یک نرم افزار را 30 روزه کرد یعنی بعد از 30 روز نرم افزار محدود بشه
حتی اگر تاریخ سیستم رو عوض کنیم .
لطفا راهنمایی کنید ممنون.
می تونید هر روز که تاریخ عوض میشه رو یه روز در نظر بگیرید و هر روز رو بشمارید و در 30 امین روز Expire
خوب این مساله دو راه حل دارد یا اینکه از خیر نصب مجدد چه از نظر نصب خود ویندوز که باعث میشود تنظیمات رجیستر شده برنامه پاک شود بگذرید یعنی نصب مجدد برنامه با نصب مجدد بتواند دوباره همان 30 روز را ادامه دهد .
و یا اینکه اصلا قصد دارید نرم افزار شما به هیچ وجه بیشتر از زمان موعود نتواند کار کند لذا برای این منظور میتواندی از پایگاه داده ثابت که عمومی میباشد مانند سایتهای موجود در اینترنت کمک بگیرید و اجازه عبور را در آنها قید کنید و یا اینکه قفل سخت افزاری که بتواند حداقل داده ای از برنامه را در خود داشته باشد تهیه کنید. تا روز های استفاده شده از برنامه را همزمان با کار برنامه در این قفل قید کند.
روش قفل سخت افزاري خوبه ، اما براي يك آماتور ...
چون يك كاربري كه بدونه در ويندوز ساعت و تاريخي هست ، ميتونه با عقب كشيدن تاريخ به برنامه اجازه نده كه يك روز رو بشماره ! در مورد اين قفل هاي مدت دار خيلي بحث شده و در نهايت نتيجه گرفته شده اين هست كه نميشه نمره 7 از 10 رو بهش داد .
اگر به این موضوع مثل اماتور ها فکر بشود مطمئننا نتیجه نخواهد داد.
ببینید اگر برنامه نویس بتواند ارتباط با قفل سخت افزار را به گونه ای که داده های مورد نظر مثل شمارنده را به قفل ارجاع دهد تا در مواقع ورود این مقدار بررسی شود حتما این کار را عملی خواهد کرد.
ضمنا چه کسی باید گقته از ساعت یا تاریخ سیستم استفاده بشود. بلکه برنامه باید یک تایمر اختصاصی برای خودش دست و پا کرده و خودکفا باشد...تا همچین کار های زیرکانه ای انجام نشود..
اگه كاربر تاريخ رو برد سال 2050 برنامه از كجا بفهمه تو سال 2009 هستيم ؟ خودکفاي برنامه وجود نداره!
دوست عزيز موقع ساختن برنامه نصب از Installshield استفاده كن امكاناتي خوبي در اين زمينه بهت ميده كه مي توني نسخه Trial از برنامه خودت بسازي
موفق باشي
سلام.
یک راهش اینه که صورت مساله رو عوض کنی. مثلا:
1) تو نسخه Trial برخی امکانات رو نذاری (مثلا یک نرمافزار بود که Undo رو از تو نسخه آزمایشیاش حذف کرده بود. بعد حساب کنید همین یک کار ساده کلا کاربر رو بدبخت میکرد)
2) به جای تاریخ، تعداد اجرا رو تو قفل سختافزاری ذخیره کنی. مثلا برنامه 30 بار بیشتر اجرا نشه که در این صورت اگر برنامه رو روزی یک بار اجرا کنه کلا 30 روز بیشتر نمیتونه کار کنه.
اما اگر میخواهی حساب تاریخ رو داشته باشی باید دو تاریخ رو نگهداری کنه (البته یک جای امن مثل قفل سختافزاری)
1 - تاریخ اولین اجرا
2 - تاریخ آخرین اجرای برنامه
حالا موقع بالا اومدن برنامه باید هر حالت غیر مجاز رو باید بررسی کنی چون الان تاریخ جاری رو داری:
موفق باشید
- تاریخ جاری از تاریخ اولین اجرا بزرگتر باشه (یعنی کاربر تاریخ رو عقب نکشیده باشه)
- تاریخ جاری از تاریخ آخرین اجرای برنامه بزرگتر باشه (یعنی کاربر تاریخ رو از زمان آخرین اجرای برنامه عقب نکشیده باشه)
- مدت اجرای برنامه نگذشته باشه (با توجه به تاریخ جاری و تاریخ آخرین اجرا)
- اگر همه چیز درست بود موقع بالا اومدن و موقع خروج برنامه تاریخ جاری رو به عنوان تاریخ آخرین اجرا ذخیره کنید
اما نگفتي اگر كاربر تاريخ رو همون روز نگه داره ، چي ميشه ؟؟؟؟؟؟؟؟حالا موقع بالا اومدن برنامه باید هر حالت غیر مجاز رو باید بررسی کنی چون الان تاریخ جاری رو داری:
- تاریخ جاری از تاریخ اولین اجرا بزرگتر باشه (یعنی کاربر تاریخ رو عقب نکشیده باشه)
- تاریخ جاری از تاریخ آخرین اجرای برنامه بزرگتر باشه (یعنی کاربر تاریخ رو از زمان آخرین اجرای برنامه عقب نکشیده باشه)
- مدت اجرای برنامه نگذشته باشه (با توجه به تاریخ جاری و تاریخ آخرین اجرا)
- اگر همه چیز درست بود موقع بالا اومدن و موقع خروج برنامه تاریخ جاری رو به عنوان تاریخ آخرین اجرا ذخیره کنید
منم فكر مي كردم ، اين روش منسابه اما ديدم به راحتي باز ميشه چون :2) به جای تاریخ، تعداد اجرا رو تو قفل سختافزاری ذخیره کنی. مثلا برنامه 30 بار بیشتر اجرا نشه که در این صورت اگر برنامه رو روزی یک بار اجرا کنه کلا 30 روز بیشتر نمیتونه کار کنه.
در بانك اطلاعات تعدادش رو سيو كردم ، برنامه رو دوباره كاربر نصب مي كرد درست ميشد .
در ريجستري سيو مي كردم ، McAfee ارور ميداد و داد ميزد اينجا داره يك شماره سيو ميشه.
در فايل سيو كردم ، به مشكل بانك بر خوردم و همچنين به مشكل نصب مجدد ويندوز !!!!
البته نمي گم ، اين روش بده اما بايد روش خيلي خيلي كار بشه .
بهترين روش به نظر من !تو نسخه Trial برخی امکانات رو نذاری (مثلا یک نرمافزار بود که Undo رو از تو نسخه آزمایشیاش حذف کرده بود. بعد حساب کنید همین یک کار ساده کلا کاربر رو بدبخت میکرد)
سلام ، دوستان ، در جواب آخرين پاسخ ، شما مي خواي ساعت رو سيو كنيد كه چه كار كنيد ، ما در برنامه به ساعت كاري نداريم !!!!! به تاريخ كار داريم ! در ضمن روش آخرت خيلي .... آخه همه كاربر ها نميان براي تست يك نرم افزار ساده به اينترنت وصل بشن ، بايد به نرم افزار خيلي اطمينان و نيازمند باشند . بازم من روش كمبود امكانات در نسخه آزمايشي رو ترجيح مي دم .
من هم موافقم ؛ اگر دلتون میخواد کسی نتونه از نرم افزار آزمایشی شما سوء استفاده کنه ؛ بهترین کار همینه.بازم من روش كمبود امكانات در نسخه آزمايشي رو ترجيح مي دم .
و گرنه از روی نسخه آزمایشی نرم افزار کرک میشه و تمام , یعنی حتی یک نسخه هم به فروش نمیره.